e: check whether fork failed

SVN revision: 46787
This commit is contained in:
Boris Faure 2010-03-02 15:07:03 +00:00
parent fd7e0c09df
commit 1060dfbd2e
1 changed files with 8 additions and 2 deletions

View File

@ -711,14 +711,15 @@ static int
_desklock_auth(char *passwd)
{
_e_desklock_state_set(E_DESKLOCK_STATE_CHECKING);
if ((_e_desklock_child_pid = fork()))
_e_desklock_child_pid = fork();
if (_e_desklock_child_pid > 0)
{
/* parent */
_e_desklock_exit_handler =
ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _e_desklock_cb_exit,
NULL);
}
else
else if (_e_desklock_child_pid == 0)
{
/* child */
int pamerr;
@ -762,6 +763,11 @@ _desklock_auth(char *passwd)
free(current_user);
exit(-1);
}
else
{
_e_desklock_state_set(E_DESKLOCK_STATE_INVALID);
return 0;
}
return 1;
}