Hello community,
here is the log from the commit of package rubygem-rb-fsevent for
openSUSE:Factory checked in at 2016-11-07 12:23:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-rb-fsevent (Old)
and /work/SRC/openSUSE:Factory/.rubygem-rb-fsevent.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-rb-fsevent"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-rb-fsevent/rubygem-rb-fsevent.changes
2016-03-01 09:40:17.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-rb-fsevent.new/rubygem-rb-fsevent.changes
2016-11-07 12:23:23.000000000 +0100
@@ -1,0 +2,6 @@
+Tue Oct 25 04:42:31 UTC 2016 - [email protected]
+
+- updated to version 0.9.8
+ no changelog found
+
+-------------------------------------------------------------------
Old:
----
rb-fsevent-0.9.7.gem
New:
----
rb-fsevent-0.9.8.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-rb-fsevent.spec ++++++
--- /var/tmp/diff_new_pack.8y81WD/_old 2016-11-07 12:23:24.000000000 +0100
+++ /var/tmp/diff_new_pack.8y81WD/_new 2016-11-07 12:23:24.000000000 +0100
@@ -24,7 +24,7 @@
#
Name: rubygem-rb-fsevent
-Version: 0.9.7
+Version: 0.9.8
Release: 0
%define mod_name rb-fsevent
%define mod_full_name %{mod_name}-%{version}
++++++ rb-fsevent-0.9.7.gem -> rb-fsevent-0.9.8.gem ++++++
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ext/fsevent_watch/TSICTString.c
new/ext/fsevent_watch/TSICTString.c
--- old/ext/fsevent_watch/TSICTString.c 2015-12-29 15:49:45.000000000 +0100
+++ new/ext/fsevent_watch/TSICTString.c 2016-10-24 20:23:48.000000000 +0200
@@ -113,27 +113,6 @@
return string;
}
-static inline CFDataRef TSICTStringCreateDataWithDataOfTypeAndFormat(CFDataRef
data, TSITStringTag type, TSITStringFormat format)
-{
- CFRetain(data);
-
- if (format == kTSITStringFormatDefault) {
- format = TSICTStringGetDefaultFormat();
- }
-
- TStringIRep* rep = TSICTStringCreateWithDataOfTypeAndFormat(data, type,
format);
- if (rep == NULL) {
- return NULL;
- }
-
- CFDataRef result =
TSICTStringCreateDataFromIntermediateRepresentation(rep);
-
- TSICTStringDestroy(rep);
- CFRelease(data);
-
- return result;
-}
-
static inline void TSICTStringAppendObjectToMutableDataWithFormat(CFTypeRef
object, CFMutableDataRef buffer, TSITStringFormat format)
{
if (object == NULL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ext/fsevent_watch/main.c new/ext/fsevent_watch/main.c
--- old/ext/fsevent_watch/main.c 2015-12-29 15:49:45.000000000 +0100
+++ new/ext/fsevent_watch/main.c 2016-10-24 20:23:48.000000000 +0200
@@ -1,4 +1,5 @@
#include "common.h"
+#include "signal_handlers.h"
#include "cli.h"
#include "FSEventsFix.h"
@@ -470,6 +471,7 @@
int main(int argc, const char* argv[])
{
+ install_signal_handlers();
parse_cli_settings(argc, argv);
if (needs_fsevents_fix) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ext/fsevent_watch/signal_handlers.c
new/ext/fsevent_watch/signal_handlers.c
--- old/ext/fsevent_watch/signal_handlers.c 1970-01-01 01:00:00.000000000
+0100
+++ new/ext/fsevent_watch/signal_handlers.c 2016-10-24 20:23:48.000000000
+0200
@@ -0,0 +1,66 @@
+#include "signal_handlers.h"
+#include <fcntl.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/time.h>
+#include <unistd.h>
+
+
+#define PPID_ALARM_INTERVAL 2 // send SIGALRM every this seconds
+
+
+static pid_t orig_ppid;
+
+
+static void signal_handler(int _) {
+ exit(EXIT_FAILURE);
+}
+
+static void check_ppid(void) {
+ if (getppid() != orig_ppid) {
+ exit(EXIT_FAILURE);
+ }
+}
+
+static void check_stdout_open(void) {
+ if (fcntl(STDOUT_FILENO, F_GETFD) < 0) {
+ exit(EXIT_FAILURE);
+ }
+}
+
+static void alarm_handler(int _) {
+ check_ppid();
+ check_stdout_open();
+ alarm(PPID_ALARM_INTERVAL);
+ signal(SIGALRM, alarm_handler);
+}
+
+static void die(const char *msg) {
+ fprintf(stderr, "\nFATAL: %s\n", msg);
+ abort();
+}
+
+static void install_signal_handler(int sig, void (*handler)(int)) {
+ if (signal(sig, handler) == SIG_ERR) {
+ die("Could not install signal handler");
+ }
+}
+
+void install_signal_handlers(void) {
+ // check pipe is still connected
+ check_stdout_open();
+
+ // watch getppid() every PPID_ALARM_INTERVAL seconds
+ orig_ppid = getppid();
+ if (orig_ppid <= 1) {
+ die("prematurely zombied");
+ }
+ install_signal_handler(SIGALRM, alarm_handler);
+ alarm(PPID_ALARM_INTERVAL);
+
+ // be sure to exit on SIGHUP, SIGPIPE
+ install_signal_handler(SIGHUP, signal_handler);
+ install_signal_handler(SIGPIPE, signal_handler);
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ext/fsevent_watch/signal_handlers.h
new/ext/fsevent_watch/signal_handlers.h
--- old/ext/fsevent_watch/signal_handlers.h 1970-01-01 01:00:00.000000000
+0100
+++ new/ext/fsevent_watch/signal_handlers.h 2016-10-24 20:23:48.000000000
+0200
@@ -0,0 +1,16 @@
+/**
+ * @headerfile signal_handlers.h
+ * Signal handlers to stop the zombie hordes
+ *
+ * Catch and handle signals better so that we die faster like a good meat
puppet.
+ */
+
+
+#ifndef fsevent_watch_signal_handlers_h
+#define fsevent_watch_signal_handlers_h
+
+
+void install_signal_handlers(void);
+
+
+#endif // fsevent_watch_signal_handlers_h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rb-fsevent/version.rb
new/lib/rb-fsevent/version.rb
--- old/lib/rb-fsevent/version.rb 2015-12-29 15:49:45.000000000 +0100
+++ new/lib/rb-fsevent/version.rb 2016-10-24 20:23:48.000000000 +0200
@@ -1,5 +1,5 @@
# -*- encoding: utf-8 -*-
class FSEvent
- VERSION = '0.9.7'
+ VERSION = '0.9.8'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2015-12-29 15:49:45.000000000 +0100
+++ new/metadata 2016-10-24 20:23:48.000000000 +0200
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: rb-fsevent
version: !ruby/object:Gem::Version
- version: 0.9.7
+ version: 0.9.8
platform: ruby
authors:
- Thibaud Guillaume-Gentil
@@ -9,7 +9,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2015-12-29 00:00:00.000000000 Z
+date: 2016-10-24 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: bundler
@@ -80,6 +80,8 @@
- ext/fsevent_watch/compat.h
- ext/fsevent_watch/defines.h
- ext/fsevent_watch/main.c
+- ext/fsevent_watch/signal_handlers.c
+- ext/fsevent_watch/signal_handlers.h
- ext/rakefile.rb
- lib/rb-fsevent.rb
- lib/rb-fsevent/fsevent.rb
@@ -105,7 +107,7 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.5.1
+rubygems_version: 2.4.5.1
signing_key:
specification_version: 4
summary: Very simple & usable FSEvents API