Yes, it will not work for Perl, but it will work for shell scripts. This is
obviously a 'well, you gave me something I can't exec, so I'll try to run it
under the shell.' It neither fixes nor harms the Perl-interpreter case.
wan_jm wrote:
> HI carlsonj:
> thanks for your reply.
> I have another questions on posix_spawnp then; there are following code in
> it.
> I want to know why when there is format error, the code still try to use
> /bin/sh to execute it. it the code was written in perl or something else, it
> will gives error result. So I think there is no need to do this.
> 376 if (set_error(&error, errno) == ENOEXEC) {
> 377 newargs[0] = (char *)shell;
> 378 newargs[1] = path;
> 379 for (i = 1; i <= argc; i++)
> 380 newargs[i + 1] = argv[i];
> 381 (void) set_error(&error, 0);
> 382 (void) execve(xpg4? xpg4_path : sun_path,
> 383 newargs, envp);
> 384 if (sap != NULL &&
> 385 (sap->sa_psflags &
> POSIX_SPAWN_NOEXECERR_NP))
> 386 _exit(127);
> 387 (void) set_error(&error, errno);
> 388 _exit(_EVAPORATE);
> 389 }
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code