server: Use attributes instead of inherit flag in socket requests.
diff --git a/server/protocol.def b/server/protocol.def index dc302b0..bbb842e 100644 --- a/server/protocol.def +++ b/server/protocol.def
@@ -679,7 +679,7 @@ /* Create a socket */ @REQ(create_socket) unsigned int access; /* wanted access rights */ - int inherit; /* inherit flag */ + unsigned int attributes; /* object attributes */ int family; /* family, see socket manpage */ int type; /* type, see socket manpage */ int protocol; /* protocol, see socket manpage */ @@ -693,7 +693,7 @@ @REQ(accept_socket) obj_handle_t lhandle; /* handle to the listening socket */ unsigned int access; /* wanted access rights */ - int inherit; /* inherit flag */ + unsigned int attributes; /* object attributes */ @REPLY obj_handle_t handle; /* handle to the new socket */ @END
diff --git a/server/sock.c b/server/sock.c index 62f39e5..6e2acbb 100644 --- a/server/sock.c +++ b/server/sock.c
@@ -773,7 +773,8 @@ reply->handle = 0; if ((obj = create_socket( req->family, req->type, req->protocol, req->flags )) != NULL) { - reply->handle = alloc_handle( current->process, obj, req->access, req->inherit ); + reply->handle = alloc_handle( current->process, obj, req->access, + req->attributes & OBJ_INHERIT ); release_object( obj ); } } @@ -786,7 +787,8 @@ reply->handle = 0; if ((sock = accept_socket( req->lhandle )) != NULL) { - reply->handle = alloc_handle( current->process, &sock->obj, req->access, req->inherit ); + reply->handle = alloc_handle( current->process, &sock->obj, req->access, + req->attributes & OBJ_INHERIT ); sock->wparam = reply->handle; /* wparam for message is the socket handle */ sock_reselect( sock ); release_object( &sock->obj );
diff --git a/server/trace.c b/server/trace.c index 5319912..eeb4e76 100644 --- a/server/trace.c +++ b/server/trace.c
@@ -1103,7 +1103,7 @@ static void dump_create_socket_request( const struct create_socket_request *req ) { fprintf( stderr, " access=%08x,", req->access ); - fprintf( stderr, " inherit=%d,", req->inherit ); + fprintf( stderr, " attributes=%08x,", req->attributes ); fprintf( stderr, " family=%d,", req->family ); fprintf( stderr, " type=%d,", req->type ); fprintf( stderr, " protocol=%d,", req->protocol ); @@ -1119,7 +1119,7 @@ { fprintf( stderr, " lhandle=%p,", req->lhandle ); fprintf( stderr, " access=%08x,", req->access ); - fprintf( stderr, " inherit=%d", req->inherit ); + fprintf( stderr, " attributes=%08x", req->attributes ); } static void dump_accept_socket_reply( const struct accept_socket_reply *req )