Does it make sense to exit(0) after a call to execl()?

Viewed 2327

Consider the following code:

close(channel_data->pty_master);

if (login_tty(channel_data->pty_slave) != 0) // new terminal session
{
    exit(1); // fail
}

execl("/bin/sh", "sh", mode, command, NULL); // replace process image
exit(0);

According to the documentation of execl(), the current process image is being replaced and the call returns only on errors.

But why call exit() after a call to execl() if the process image is replaced?

4 Answers
Related