Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: Build.sh
- ===================================================================
- RCS file: /cvs/src/bin/mksh/Build.sh,v
- retrieving revision 1.508
- diff -u -r1.508 Build.sh
- --- Build.sh 4 Jan 2012 08:56:51 -0000 1.508
- +++ Build.sh 6 Jan 2012 01:19:57 -0000
- @@ -1327,6 +1327,8 @@
- # Environment: library functions
- #
- ac_testn flock_ex '' 'flock and mmap' <<-'EOF'
- + #define MKSH_INCLUDES_ONLY
- + #include "sh.h"
- #include <sys/types.h>
- #if HAVE_SYS_FILE_H
- #include <sys/file.h>
- Index: histrap.c
- ===================================================================
- RCS file: /cvs/src/bin/mksh/histrap.c,v
- retrieving revision 1.117
- diff -u -r1.117 histrap.c
- --- histrap.c 31 Dec 2011 00:48:09 -0000 1.117
- +++ histrap.c 6 Jan 2012 01:52:44 -0000
- @@ -26,6 +26,20 @@
- #include <sys/file.h>
- #endif
- +#if defined(__sun) || defined(__MSYS__)
- +int emul_flock(int fd, int cmd)
- +{ struct flock f;
- + memset(&f, 0, sizeof (f));
- + if (cmd & LOCK_UN)
- + f.l_type = F_UNLCK;
- + if (cmd & LOCK_SH)
- + f.l_type = F_RDLCK;
- + if (cmd & LOCK_EX)
- + f.l_type = F_WRLCK;
- + return fcntl(fd, (cmd & LOCK_NB) ? F_SETLK : F_SETLKW, &f);
- +}
- +#endif
- +
- __RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.117 2011/12/31 00:47:45 tg Exp $");
- Trap sigtraps[NSIG + 1];
- Index: sh.h
- ===================================================================
- RCS file: /cvs/src/bin/mksh/sh.h,v
- retrieving revision 1.519
- diff -u -r1.519 sh.h
- --- sh.h 4 Jan 2012 19:10:00 -0000 1.519
- +++ sh.h 6 Jan 2012 01:52:33 -0000
- @@ -151,6 +151,33 @@
- #define __SCCSID(x) __IDSTRING(sccsid,x)
- #endif
- +#ifndef LOCK_SH
- +#define LOCK_SH 1 /* shared lock */
- +#define LOCK_EX 2 /* exclusive lock */
- +#define LOCK_NB 4 /* don't block when locking */
- +#define LOCK_UN 8 /* unlock */
- +#endif
- +#if defined(__sun) || defined(__MSYS__)
- +#include <sys/fcntl.h>
- +int emul_flock(int fd, int cmd);
- +
- +#ifdef MKSH_INCLUDES_ONLY
- +int emul_flock(int fd, int cmd)
- +{ struct flock f;
- + memset(&f, 0, sizeof (f));
- + if (cmd & LOCK_UN)
- + f.l_type = F_UNLCK;
- + if (cmd & LOCK_SH)
- + f.l_type = F_RDLCK;
- + if (cmd & LOCK_EX)
- + f.l_type = F_WRLCK;
- + return fcntl(fd, (cmd & LOCK_NB) ? F_SETLK : F_SETLKW, &f);
- +}
- +#endif
- +
- +#define flock(f,c) emul_flock(f,c)
- +#endif
- +
- #ifdef EXTERN
- __RCSID("$MirOS: src/bin/mksh/sh.h,v 1.519 2012/01/04 19:09:36 tg Exp $");
- #endif
Add Comment
Please, Sign In to add comment