1. 15 Apr, 2014 1 commit
  2. 12 Apr, 2014 1 commit
    • Antoine Jacoutot's avatar
      openbsd: remove -pthread · 74ec9470
      Antoine Jacoutot authored
      This is not needed any longer; libpthread is properly included in
      shared libs on OpenBSD where -pthread -lpthread mean the same.
      74ec9470
  3. 10 Apr, 2014 1 commit
  4. 01 Apr, 2014 1 commit
  5. 29 Mar, 2014 1 commit
  6. 17 Mar, 2014 1 commit
  7. 21 Feb, 2014 1 commit
  8. 20 Feb, 2014 2 commits
    • Allison Karlitskaya's avatar
      Fix g_cond_wait_until() vs. monotonic time · 1de36e77
      Allison Karlitskaya authored
      We've had a relatively rocky path with g_cond_wait_until() on systems
      that either don't support pthread_condattr_setclock() or where
      g_get_monotonic_time() is not based on CLOCK_MONOTONIC (ie: Android and
      Mac OS).
      
      Fortunately, both of these platforms seem to share
      pthread_cond_timedwait_relative_np() which allows us to implement
      g_cond_wait_until() without races.
      
      With this patch, we now require that one of pthread_condattr_setclock()
      or pthread_cond_timedwait_relative_np() exists.  A quick look around
      suggests that this is true for all platforms that we care about.
      
      This patch removes our use of pthread_cond_timedwait_monotonic() and
      pthread_cond_timedwait_monotonic_np() which were Android-only APIs.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=673607
      1de36e77
    • Allison Karlitskaya's avatar
      gmain: rework g_get_monotonic_time() a bit · d6143125
      Allison Karlitskaya authored
      We now assume the existence of clock_gettime() and CLOCK_MONOTONIC as
      specified by POSIX.1-2001.  This means that we always return truly
      monotonic time, which will prevent problems in the case that the user
      changes the time.
      
      Mac OS doesn't have clock_gettime() but it does have
      mach_absolute_time(), so we can use that there.
      
      We keep our Windows case as well (although we should simplify it once XP
      hits EOL later this year).
      
      This patch removes the fallback to gettimeofday() in case of missing
      clock_gettime().  We no longer have any way to test this codepath and
      therefore it must go.
      
      This patch also restructures the #ifdef a bit so that we repeat the
      entire function definition inside of #ifdef instead of just the entire
      body of one function.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=724687
      d6143125
  9. 17 Feb, 2014 2 commits
  10. 14 Feb, 2014 1 commit
    • Allison Karlitskaya's avatar
      configure.ac: tweak inotify check · 450e7b10
      Allison Karlitskaya authored
      Our check for inotify_init1() being defined is broken.  We happily
      declare that inotify is supported, even if the check fails.
      
      This was originally intended to check for inotify_init1 in the libc so
      that we could fall back to inotify_init if it was not yet defined.
      
      FreeBSD has a libinotify that emulates the inotify API via kqueue.  It
      installs a <sys/inotify.h> header and requires linking to -linotify.  We
      don't want to falsely detect working inotify in this case.
      
      Treat the lack of inotify_init1() in the libc as a lack of inotify
      support.  This requires only a new libc -- we still support old kernels:
      in the case that inotify1_init() fails, we fall back to inotify_init().
      
      https://bugzilla.gnome.org/show_bug.cgi?id=724330
      450e7b10
  11. 04 Feb, 2014 2 commits
  12. 20 Jan, 2014 1 commit
  13. 01 Jan, 2014 1 commit
  14. 22 Dec, 2013 1 commit
  15. 21 Dec, 2013 1 commit
  16. 17 Dec, 2013 1 commit
  17. 24 Nov, 2013 3 commits
  18. 20 Nov, 2013 5 commits
    • Dan Winship's avatar
      Replace #ifdef HAVE_UNISTD_H checks with #ifdef G_OS_UNIX · 158dde05
      Dan Winship authored
      In Windows development environments that have it, <unistd.h> is mostly
      just a wrapper around several other native headers (in particular,
      <io.h>, which contains read(), close(), etc, and <process.h>, which
      contains getpid()). But given that some Windows dev environments don't
      have <unistd.h>, everything that uses those functions on Windows
      already needed to include the correct Windows header as well, and so
      there is never any point to including <unistd.h> on Windows.
      
      Also, remove some <unistd.h> includes (and a few others) that were
      unnecessary even on unix.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=710519
      158dde05
    • Dan Winship's avatar
      Require POSIX.1 (1990) compliance on unix · 3981cddb
      Dan Winship authored
      Assume unix platforms support the original POSIX.1 standard.
      Specifically, assume that if G_OS_UNIX, then we have chown(),
      getcwd(), getgrgid(), getpwuid(), link(), <grp.h>, <pwd.h>,
      <sys/types.h>, <sys/uio.h>, <sys/wait.h>, and <unistd.h>.
      
      Additionally, since all versions of Windows that we care about also
      have <sys/types.h>, we can remove HAVE_SYS_TYPES_H checks everywhere.
      
      Also remove one include of <sys/times.h>, and the corresponding
      configure check, since the include is not currently needed (and may
      always have just been a typo for <sys/time.h>).
      
      https://bugzilla.gnome.org/show_bug.cgi?id=710519
      3981cddb
    • Dan Winship's avatar
      Require C90 compliance · 6e4a7fca
      Dan Winship authored
      Assume all supported platforms implement C90, and therefore they
      (correctly) implement atexit(), memmove(), setlocale(), strerror(),
      and vprintf(), and have <float.h> and <limits.h>.
      
      (Also remove the configure check testing that "do ... while (0)" works
      correctly; the non-do/while-based version of G_STMT_START and
      G_STMT_END was removed years ago, but the check remained. Also, remove
      some checks that configure.ac claimed were needed for libcharset, but
      aren't actually used.)
      
      Note that removing the g_memmove() function is not an ABI break even
      on systems where g_memmove() was previously not a macro, because it
      was never marked GLIB_AVAILABLE_IN_ALL or listed in glib.symbols, so
      it would have been glib-internal since 2004.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=710519
      6e4a7fca
    • Dan Winship's avatar
      Remove alleged support for last-millennium Unixes · 7f5b2901
      Dan Winship authored
      Remove workarounds for NeXTStep (last released in 1995), SunOS (1994),
      HP-UX 9.x (1992) and 10.x (1995), OSF/1 / Digital UNIX / Tru64 UNIX
      4.x (1999), and AIX 4.x (1999).
      
      HP-UX 11 implements dlopen(), so dropping support for earlier versions
      also lets us remove the HP-UX-specific gmodule-dld.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=710519
      7f5b2901
    • Dan Winship's avatar
      Remove alleged support for BeOS · 51a917bc
      Dan Winship authored
      Since the initial addition of BeOS support in 1999, there has only
      been one update to it (in 2005, and it wasn't even very big). GLib is
      known to not currently build on Haiku (or presumably actual BeOS)
      without additional patching, and the fact that there isn't a single
      G_OS_BEOS check in gio/ is suspicious.
      
      Additionally, other than the GModule implementation, all of the
      existing G_OS_BEOS checks are either (a) "G_OS_UNIX || G_OS_BEOS", or
      (b) random minor POSIXy tweaks (include this header file rather than
      that one, etc), suggesting that if we were going to support Haiku, it
      would probably be simpler to treat it as a special kind of G_OS_UNIX
      (as we do with Mac OS X) rather than as its own completely different
      thing.
      
      So, kill G_OS_BEOS.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=710519
      51a917bc
  19. 18 Nov, 2013 2 commits
  20. 12 Nov, 2013 1 commit
  21. 28 Oct, 2013 1 commit
  22. 04 Oct, 2013 1 commit
  23. 26 Sep, 2013 1 commit
  24. 23 Sep, 2013 2 commits
  25. 16 Sep, 2013 2 commits
  26. 02 Sep, 2013 1 commit
  27. 28 Aug, 2013 1 commit
  28. 20 Aug, 2013 1 commit