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

Reply via email to