[Glibc-bsd-commits] r4420 - in trunk/glibc-ports/kfreebsd: . i386

Petr Salinger ps-guest at alioth.debian.org
Thu May 9 09:28:23 UTC 2013


Author: ps-guest
Date: 2013-05-09 09:28:23 +0000 (Thu, 09 May 2013)
New Revision: 4420

Added:
   trunk/glibc-ports/kfreebsd/i386/pipe.S
   trunk/glibc-ports/kfreebsd/tcsendbrk.c
Modified:
   trunk/glibc-ports/kfreebsd/syscalls.list
Log:
cleanup for tcsendbrk.c, i386/pipe.S, getppid


Added: trunk/glibc-ports/kfreebsd/i386/pipe.S
===================================================================
--- trunk/glibc-ports/kfreebsd/i386/pipe.S	                        (rev 0)
+++ trunk/glibc-ports/kfreebsd/i386/pipe.S	2013-05-09 09:28:23 UTC (rev 4420)
@@ -0,0 +1,30 @@
+/* Copyright (C) 1991,92,93,95,97,2002 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <sysdep.h>
+
+SYSCALL__ (pipe, 1)
+	movl 4(%esp), scratch
+	movl %eax, (scratch)
+	movl r1, 4(scratch)
+	xorl %eax, %eax
+	ret
+PSEUDO_END (__pipe)
+
+libc_hidden_def (__pipe)
+weak_alias (__pipe, pipe)

Modified: trunk/glibc-ports/kfreebsd/syscalls.list
===================================================================
--- trunk/glibc-ports/kfreebsd/syscalls.list	2013-05-09 08:30:31 UTC (rev 4419)
+++ trunk/glibc-ports/kfreebsd/syscalls.list	2013-05-09 09:28:23 UTC (rev 4420)
@@ -43,6 +43,7 @@
 sys_getdents		-	getdents		i:ibn		__syscall_getdents
 sys_getdirentries	-	getdirentries		i:ibnP		__syscall_getdirentries
 getegid			-	getegid			i:		__getegid getegid
+getppid			-	getppid			i:		__getppid getppid
 geteuid			-	geteuid			i:		__geteuid geteuid
 getfh			-	getfh			i:sp		getfh
 sys_getlogin		-	getlogin		i:bn		__syscall_getlogin

Added: trunk/glibc-ports/kfreebsd/tcsendbrk.c
===================================================================
--- trunk/glibc-ports/kfreebsd/tcsendbrk.c	                        (rev 0)
+++ trunk/glibc-ports/kfreebsd/tcsendbrk.c	2013-05-09 09:28:23 UTC (rev 4420)
@@ -0,0 +1,46 @@
+/* Send break to terminal.
+   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+
+/* Send zero bits on FD.  */
+int
+tcsendbreak (int fd, int duration)
+{
+  /* The break lasts 0.25 to 0.5 seconds if DURATION is zero,
+     and an implementation-defined period if DURATION is nonzero.
+     We define a positive DURATION to be number of milliseconds to break.  */
+  if (duration <= 0)
+    return __ioctl (fd, TCSBRK, 0);
+
+#ifdef TCSBRKP
+  /* Probably Linux-specific: a positive third TCSBRKP ioctl argument is
+     defined to be the number of 100ms units to break.  */
+  return __ioctl (fd, TCSBRKP, (duration + 99) / 100);
+#else
+  /* ioctl can't send a break of any other duration for us.
+     This could be changed to use trickery (e.g. lower speed and
+     send a '\0') to send the break, but for now just return an error.  */
+  __set_errno (EINVAL);
+  return -1;
+#endif
+}




More information about the Glibc-bsd-commits mailing list