Well I5, also known as iSeries or AS/400, run on i5/OS which is not Unix but IBM proprietary (called OS/400 previously)
2007/3/29, Ian Darwin <[EMAIL PROTECTED]>:
Henri Gomez wrote: > While rebuild trunk from mod_jk I got an error on iSeries about > missing mktemp in iSeries. > > if (!jk_shmem.lockname) { > if (shm_lock_reopen) { > int i; > jk_shmem.fd_lock = -1; > mode_t mask = umask(0); > for (i = 0; i < 8; i++) { > strcpy(flkname, "/tmp/jkshmlock.XXXXXX"); > if (mktemp(flkname)) { > jk_shmem.fd_lock = open(flkname, > O_RDWR|O_CREAT|O_TRUNC, 0666); > if (jk_shmem.fd_lock >= 0) > break; > } > } > umask(mask); > } > > > How could we avoid this call ? Wrong question. mktemp has been in UNIX for a dog's age and in POSIX/SUS for a decade or more. See http://www.opengroup.org/onlinepubs/007908799/xsh/mktemp.html which is the 1997 version of the SUS. The general approach to making C programs portable to broken systems that are missing libraries is to provide a default version, usually wrapped in an #ifdef. IANA(ASF)L but we should be able to incorporate the mktemp implementation from anything BSD licensed, like OpenBSD, for this purpose. Ian --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]