2004-04-19  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/mq_unlink.c: Rewrite to produce more
	compact code.
This commit is contained in:
Ulrich Drepper 2004-04-20 04:31:12 +00:00
parent d3b5202891
commit bfa2612286
4 changed files with 26 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2004-04-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/mq_unlink.c: Rewrite to produce more
compact code.
2004-04-20 Jakub Jelinek <jakub@redhat.com>
* stdio-common/vfscanf.c (_IO_vfscanf): When skipping whitespace,

View File

@ -1,3 +1,9 @@
2004-04-19 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (CENABLE): Define
for librt. Save the return value to a safe register.
(CDISABLE): Define for librt. Set the function argument correctly.
2004-04-18 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h

View File

@ -1,3 +1,8 @@
2004-04-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/mq_unlink.c: Rewrite to produce more
compact code.
2004-04-19 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Add frame info.

View File

@ -32,12 +32,19 @@ mq_unlink (const char *name)
return -1;
}
int ret = INLINE_SYSCALL (mq_unlink, 1, name + 1);
INTERNAL_SYSCALL_DECL (err);
int ret = INTERNAL_SYSCALL (mq_unlink, err, 1, name + 1);
/* While unlink can return either EPERM or EACCES, mq_unlink should
return just EACCES. */
if (ret < 0 && errno == EPERM)
__set_errno (EACCES);
if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (ret, err), 0))
{
ret = INTERNAL_SYSCALL_ERRNO (ret, err);
if (ret == EPERM)
ret = EACCES;
__set_errno (ret);
ret = -1;
}
return ret;
}