mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-05 19:35:52 +03:00
Hurd: O_CLOEXEC in rtld
This commit is contained in:
committed by
Roland McGrath
parent
bcfe3a546e
commit
6f080c2fcf
@@ -1,3 +1,11 @@
|
|||||||
|
2012-05-10 Thomas Schwinge <thomas@schwinge.name>
|
||||||
|
|
||||||
|
* sysdeps/mach/hurd/dl-sysdep.c (open_file): Do not raise
|
||||||
|
assertion on O_CLOEXEC flag.
|
||||||
|
* hurd/hurd/fd.h: Update comment to mention O_CLOEXEC.
|
||||||
|
* hurd/intern-fd.c: Likewise.
|
||||||
|
* hurd/port2fd.c: Likewise.
|
||||||
|
|
||||||
2012-05-10 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
2012-05-10 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||||
|
|
||||||
[BZ #3906]
|
[BZ #3906]
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
/* File descriptors.
|
/* File descriptors.
|
||||||
Copyright (C) 1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2006,2007
|
Copyright (C) 1993-2012 Free Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -199,7 +198,8 @@ extern void _hurd_port2fd (struct hurd_fd *fd, io_t port, int flags);
|
|||||||
|
|
||||||
/* Allocate a new file descriptor and install PORT in it (doing any
|
/* Allocate a new file descriptor and install PORT in it (doing any
|
||||||
appropriate ctty magic); consumes a user reference on PORT. FLAGS are
|
appropriate ctty magic); consumes a user reference on PORT. FLAGS are
|
||||||
as for `open'; only O_IGNORE_CTTY is meaningful, but all are saved.
|
as for `open'; only O_IGNORE_CTTY and O_CLOEXEC are meaningful, but all are
|
||||||
|
saved.
|
||||||
|
|
||||||
If the descriptor table is full, set errno, and return -1.
|
If the descriptor table is full, set errno, and return -1.
|
||||||
If DEALLOC is nonzero, deallocate PORT first. */
|
If DEALLOC is nonzero, deallocate PORT first. */
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
|
/* Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <hurd/fd.h>
|
#include <hurd/fd.h>
|
||||||
|
|
||||||
/* Allocate a new file descriptor and install PORT in it. FLAGS are as for
|
/* Allocate a new file descriptor and install PORT in it. FLAGS are as for
|
||||||
`open'; only O_IGNORE_CTTY is meaningful.
|
`open'; only O_IGNORE_CTTY and O_CLOEXEC are meaningful.
|
||||||
|
|
||||||
If the descriptor table is full, set errno, and return -1.
|
If the descriptor table is full, set errno, and return -1.
|
||||||
If DEALLOC is nonzero, deallocate PORT first. */
|
If DEALLOC is nonzero, deallocate PORT first. */
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1994, 1997, 1999, 2007 Free Software Foundation, Inc.
|
/* Copyright (C) 1994-2012 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
/* Store PORT in file descriptor D, doing appropriate ctty magic.
|
/* Store PORT in file descriptor D, doing appropriate ctty magic.
|
||||||
FLAGS are as for `open'; only O_IGNORE_CTTY is meaningful.
|
FLAGS are as for `open'; only O_IGNORE_CTTY and O_CLOEXEC are meaningful.
|
||||||
D should be locked, and will not be unlocked. */
|
D should be locked, and will not be unlocked. */
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
/* Operating system support for run-time dynamic linker. Hurd version.
|
/* Operating system support for run-time dynamic linker. Hurd version.
|
||||||
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2010
|
Copyright (C) 1995-2012 Free Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -315,7 +314,7 @@ open_file (const char *file_name, int flags,
|
|||||||
return MACH_PORT_NULL;
|
return MACH_PORT_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert (!(flags & ~O_READ));
|
assert (!(flags & ~(O_READ | O_CLOEXEC)));
|
||||||
|
|
||||||
startdir = _dl_hurd_data->portarray[file_name[0] == '/' ?
|
startdir = _dl_hurd_data->portarray[file_name[0] == '/' ?
|
||||||
INIT_PORT_CRDIR : INIT_PORT_CWDIR];
|
INIT_PORT_CRDIR : INIT_PORT_CWDIR];
|
||||||
|
Reference in New Issue
Block a user