summaryrefslogtreecommitdiff
path: root/openbsd-compat
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2013-02-15 11:41:35 +1100
committerDarren Tucker <dtucker@zip.com.au>2013-02-15 11:41:35 +1100
commit3c4a24c3e329ccca86629ed694b9756309b00113 (patch)
tree31d7a56074a06b4f25ab9514824806527313d5f1 /openbsd-compat
parent4018dc04daa613d0e20df10947b85f154dc5765d (diff)
- (dtucker) [configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
Use getpgrp() if we don't have getpgid() (old BSDs, maybe others).
Diffstat (limited to 'openbsd-compat')
-rw-r--r--openbsd-compat/bsd-misc.c13
-rw-r--r--openbsd-compat/bsd-misc.h6
2 files changed, 18 insertions, 1 deletions
diff --git a/openbsd-compat/bsd-misc.c b/openbsd-compat/bsd-misc.c
index 3ef373f5..0cff2e42 100644
--- a/openbsd-compat/bsd-misc.c
+++ b/openbsd-compat/bsd-misc.c
@@ -247,3 +247,16 @@ int isblank(int c)
return (c == ' ' || c == '\t');
}
#endif
+
+#ifndef HAVE_GETPGID
+pid_t
+getpgid(pid_t pid)
+{
+#ifdef HAVE_GETPGRP
+ if (pid == 0)
+ return getpgrp();
+#endif
+ errno = ESRCH;
+ return -1;
+}
+#endif
diff --git a/openbsd-compat/bsd-misc.h b/openbsd-compat/bsd-misc.h
index eac5217c..de836738 100644
--- a/openbsd-compat/bsd-misc.h
+++ b/openbsd-compat/bsd-misc.h
@@ -1,4 +1,4 @@
-/* $Id: bsd-misc.h,v 1.21 2012/07/03 22:50:10 dtucker Exp $ */
+/* $Id: bsd-misc.h,v 1.22 2013/02/15 00:41:36 dtucker Exp $ */
/*
* Copyright (c) 1999-2004 Damien Miller <djm@mindrot.org>
@@ -102,4 +102,8 @@ mysig_t mysignal(int sig, mysig_t act);
int isblank(int);
#endif
+#ifndef HAVE_GETPGID
+pid_t getpgid(pid_t);
+#endif
+
#endif /* _BSD_MISC_H */