sorry the alpha was tested on linux the coordination of SOCK_CLOEXEC etc. is still in progress
note that the workaround below may get ksh to build but ignores the close-on-exec flag the next alpha will be better on portability On Wed, 12 Sep 2012 14:17:55 +0200 Irek Szczesniak wrote: > Our build of ast-ksh.20120911 fails with src/cmd/ksh93/sh/io.c", line > 1008: undefined symbol: SOCK_CLOEXEC > I used the patch below to fix the problem, but then ran into the old > bug with shtests: line 307: write to 1 failed [Bad file number]. > Now the question is: Is Solaris still going to be supported? Or is > support fading away? I've seen many other opensource projects > abandoning Solaris after Oracle killed Opensolaris... > diff -r -u src/cmd/ksh93/sh/io.c src/cmd/ksh93/sh/io.c > --- src/cmd/ksh93/sh/io.c 2012-09-05 23:53:53.000000000 +0200 > +++ src/cmd/ksh93/sh/io.c 2012-09-12 14:06:04.632100936 +0200 > @@ -973,13 +973,14 @@ > return(0); > } > -#ifndef _lib_accept4 > -# define accept4(a,b,c,d) accept(a,b,c) > -#endif > #if SHOPT_COSHELL > int sh_coaccept(Shell_t *shp,int *pv,int out) > { > +#ifdef _lib_accept4 > int fd = accept4(pv[0],(struct > sockaddr*)0,(socklen_t*)0,SOCK_CLOEXEC); > +#else > + int fd = accept(pv[0],(struct sockaddr*)0,(socklen_t*)0); > +#endif > sh_close(pv[0]); > pv[0] = -1; > if(fd<0) > @@ -1005,7 +1006,11 @@ > int r,port=20000; > struct sockaddr_in sin; > socklen_t slen; > +#ifdef SOCK_CLOEXEC > if ((pv[out] = socket (AF_INET, SOCK_STREAM|SOCK_CLOEXEC, 0)) < 0) > +#else > + if ((pv[out] = socket (AF_INET, SOCK_STREAM, 0)) < 0) > +#endif > errormsg(SH_DICT,ERROR_system(1),e_pipe); > do > { > Irek > _______________________________________________ > ast-developers mailing list > ast-developers@research.att.com > https://mailman.research.att.com/mailman/listinfo/ast-developers _______________________________________________ ast-developers mailing list ast-developers@research.att.com https://mailman.research.att.com/mailman/listinfo/ast-developers