SysVIPC 0.9 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/ext/SysVIPC.c +198 -160
  2. data/ext/extconf.rb +3 -0
  3. data/lib/SysVIPC.rb +24 -8
  4. metadata +23 -10
data/ext/SysVIPC.c CHANGED
@@ -1,6 +1,6 @@
1
1
  /* ----------------------------------------------------------------------------
2
2
  * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 1.3.36
3
+ * Version 2.0.4
4
4
  *
5
5
  * This file is not intended to be easily readable and contains a number of
6
6
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -9,6 +9,7 @@
9
9
  * ----------------------------------------------------------------------------- */
10
10
 
11
11
  #define SWIGRUBY
12
+
12
13
  /* -----------------------------------------------------------------------------
13
14
  * This section contains generic SWIG labels for method/variable
14
15
  * declarations/attributes, and other compiler dependent labels.
@@ -230,7 +231,7 @@
230
231
  /* -----------------------------------------------------------------------------
231
232
  * swigrun.swg
232
233
  *
233
- * This file contains generic CAPI SWIG runtime support for pointer
234
+ * This file contains generic C API SWIG runtime support for pointer
234
235
  * type checking.
235
236
  * ----------------------------------------------------------------------------- */
236
237
 
@@ -249,11 +250,11 @@
249
250
 
250
251
  /*
251
252
  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
252
- creating a static or dynamic library from the swig runtime code.
253
- In 99.9% of the cases, swig just needs to declare them as 'static'.
253
+ creating a static or dynamic library from the SWIG runtime code.
254
+ In 99.9% of the cases, SWIG just needs to declare them as 'static'.
254
255
 
255
- But only do this if is strictly necessary, ie, if you have problems
256
- with your compiler or so.
256
+ But only do this if strictly necessary, ie, if you have problems
257
+ with your compiler or suchlike.
257
258
  */
258
259
 
259
260
  #ifndef SWIGRUNTIME
@@ -280,14 +281,14 @@
280
281
  /*
281
282
  Flags/methods for returning states.
282
283
 
283
- The swig conversion methods, as ConvertPtr, return and integer
284
+ The SWIG conversion methods, as ConvertPtr, return an integer
284
285
  that tells if the conversion was successful or not. And if not,
285
286
  an error code can be returned (see swigerrors.swg for the codes).
286
287
 
287
288
  Use the following macros/flags to set or process the returning
288
289
  states.
289
290
 
290
- In old swig versions, you usually write code as:
291
+ In old versions of SWIG, code such as the following was usually written:
291
292
 
292
293
  if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
293
294
  // success code
@@ -295,7 +296,7 @@
295
296
  //fail code
296
297
  }
297
298
 
298
- Now you can be more explicit as:
299
+ Now you can be more explicit:
299
300
 
300
301
  int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
301
302
  if (SWIG_IsOK(res)) {
@@ -304,7 +305,7 @@
304
305
  // fail code
305
306
  }
306
307
 
307
- that seems to be the same, but now you can also do
308
+ which is the same really, but now you can also do
308
309
 
309
310
  Type *ptr;
310
311
  int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
@@ -322,7 +323,7 @@
322
323
 
323
324
  I.e., now SWIG_ConvertPtr can return new objects and you can
324
325
  identify the case and take care of the deallocation. Of course that
325
- requires also to SWIG_ConvertPtr to return new result values, as
326
+ also requires SWIG_ConvertPtr to return new result values, such as
326
327
 
327
328
  int SWIG_ConvertPtr(obj, ptr,...) {
328
329
  if (<obj is ok>) {
@@ -340,7 +341,7 @@
340
341
 
341
342
  Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
342
343
  more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
343
- swig errors code.
344
+ SWIG errors code.
344
345
 
345
346
  Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
346
347
  allows to return the 'cast rank', for example, if you have this
@@ -354,9 +355,8 @@
354
355
  fooi(1) // cast rank '0'
355
356
 
356
357
  just use the SWIG_AddCast()/SWIG_CheckState()
358
+ */
357
359
 
358
-
359
- */
360
360
  #define SWIG_OK (0)
361
361
  #define SWIG_ERROR (-1)
362
362
  #define SWIG_IsOK(r) (r >= 0)
@@ -381,7 +381,6 @@
381
381
  #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
382
382
  #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
383
383
 
384
-
385
384
  /* Cast-Rank Mode */
386
385
  #if defined(SWIG_CASTRANK_MODE)
387
386
  # ifndef SWIG_TypeRank
@@ -404,8 +403,6 @@ SWIGINTERNINLINE int SWIG_CheckState(int r) {
404
403
  #endif
405
404
 
406
405
 
407
-
408
-
409
406
  #include <string.h>
410
407
 
411
408
  #ifdef __cplusplus
@@ -502,40 +499,58 @@ SWIG_TypeCompare(const char *nb, const char *tb) {
502
499
  }
503
500
 
504
501
 
505
- /* think of this as a c++ template<> or a scheme macro */
506
- #define SWIG_TypeCheck_Template(comparison, ty) \
507
- if (ty) { \
508
- swig_cast_info *iter = ty->cast; \
509
- while (iter) { \
510
- if (comparison) { \
511
- if (iter == ty->cast) return iter; \
512
- /* Move iter to the top of the linked list */ \
513
- iter->prev->next = iter->next; \
514
- if (iter->next) \
515
- iter->next->prev = iter->prev; \
516
- iter->next = ty->cast; \
517
- iter->prev = 0; \
518
- if (ty->cast) ty->cast->prev = iter; \
519
- ty->cast = iter; \
520
- return iter; \
521
- } \
522
- iter = iter->next; \
523
- } \
524
- } \
525
- return 0
526
-
527
502
  /*
528
503
  Check the typename
529
504
  */
530
505
  SWIGRUNTIME swig_cast_info *
531
506
  SWIG_TypeCheck(const char *c, swig_type_info *ty) {
532
- SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
507
+ if (ty) {
508
+ swig_cast_info *iter = ty->cast;
509
+ while (iter) {
510
+ if (strcmp(iter->type->name, c) == 0) {
511
+ if (iter == ty->cast)
512
+ return iter;
513
+ /* Move iter to the top of the linked list */
514
+ iter->prev->next = iter->next;
515
+ if (iter->next)
516
+ iter->next->prev = iter->prev;
517
+ iter->next = ty->cast;
518
+ iter->prev = 0;
519
+ if (ty->cast) ty->cast->prev = iter;
520
+ ty->cast = iter;
521
+ return iter;
522
+ }
523
+ iter = iter->next;
524
+ }
525
+ }
526
+ return 0;
533
527
  }
534
528
 
535
- /* Same as previous function, except strcmp is replaced with a pointer comparison */
529
+ /*
530
+ Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
531
+ */
536
532
  SWIGRUNTIME swig_cast_info *
537
- SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
538
- SWIG_TypeCheck_Template(iter->type == from, into);
533
+ SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
534
+ if (ty) {
535
+ swig_cast_info *iter = ty->cast;
536
+ while (iter) {
537
+ if (iter->type == from) {
538
+ if (iter == ty->cast)
539
+ return iter;
540
+ /* Move iter to the top of the linked list */
541
+ iter->prev->next = iter->next;
542
+ if (iter->next)
543
+ iter->next->prev = iter->prev;
544
+ iter->next = ty->cast;
545
+ iter->prev = 0;
546
+ if (ty->cast) ty->cast->prev = iter;
547
+ ty->cast = iter;
548
+ return iter;
549
+ }
550
+ iter = iter->next;
551
+ }
552
+ }
553
+ return 0;
539
554
  }
540
555
 
541
556
  /*
@@ -816,6 +831,15 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
816
831
 
817
832
  #include <ruby.h>
818
833
 
834
+ /* Ruby 1.9.1 has a "memoisation optimisation" when compiling with GCC which
835
+ * breaks using rb_intern as an lvalue, as SWIG does. We work around this
836
+ * issue for now by disabling this.
837
+ * https://sourceforge.net/tracker/?func=detail&aid=2859614&group_id=1645&atid=101645
838
+ */
839
+ #ifdef rb_intern
840
+ # undef rb_intern
841
+ #endif
842
+
819
843
  /* Remove global macros defined in Ruby's win32.h */
820
844
  #ifdef write
821
845
  # undef write
@@ -823,6 +847,15 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
823
847
  #ifdef read
824
848
  # undef read
825
849
  #endif
850
+ #ifdef bind
851
+ # undef bind
852
+ #endif
853
+ #ifdef close
854
+ # undef close
855
+ #endif
856
+ #ifdef connect
857
+ # undef connect
858
+ #endif
826
859
 
827
860
 
828
861
  /* Ruby 1.7 defines NUM2LL(), LL2NUM() and ULL2NUM() macros */
@@ -965,7 +998,7 @@ static VALUE _mSWIG = Qnil;
965
998
 
966
999
  /* Define custom exceptions for errors that do not map to existing Ruby
967
1000
  exceptions. Note this only works for C++ since a global cannot be
968
- initialized by a funtion in C. For C, fallback to rb_eRuntimeError.*/
1001
+ initialized by a function in C. For C, fallback to rb_eRuntimeError.*/
969
1002
 
970
1003
  SWIGINTERN VALUE
971
1004
  getNullReferenceError(void) {
@@ -1110,9 +1143,6 @@ void Ruby_Format_OverloadedError(
1110
1143
  }
1111
1144
 
1112
1145
  /* -----------------------------------------------------------------------------
1113
- * See the LICENSE file for information on copyright, usage and redistribution
1114
- * of SWIG, and the README file for authors - http://www.swig.org/release.html.
1115
- *
1116
1146
  * rubytracking.swg
1117
1147
  *
1118
1148
  * This file contains support for tracking mappings from
@@ -1308,9 +1338,6 @@ SWIG_Ruby_AppendOutput(VALUE target, VALUE o) {
1308
1338
 
1309
1339
 
1310
1340
  /* -----------------------------------------------------------------------------
1311
- * See the LICENSE file for information on copyright, usage and redistribution
1312
- * of SWIG, and the README file for authors - http://www.swig.org/release.html.
1313
- *
1314
1341
  * rubyrun.swg
1315
1342
  *
1316
1343
  * This file contains the runtime support for Ruby modules
@@ -1354,7 +1381,7 @@ SWIG_Ruby_AppendOutput(VALUE target, VALUE o) {
1354
1381
  /* Error manipulation */
1355
1382
 
1356
1383
  #define SWIG_ErrorType(code) SWIG_Ruby_ErrorType(code)
1357
- #define SWIG_Error(code, msg) rb_raise(SWIG_Ruby_ErrorType(code), msg)
1384
+ #define SWIG_Error(code, msg) rb_raise(SWIG_Ruby_ErrorType(code), "%s", msg)
1358
1385
  #define SWIG_fail goto fail
1359
1386
 
1360
1387
 
@@ -1409,7 +1436,7 @@ static ID swig_call_id = 0;
1409
1436
  ++swig_virtual_calls;
1410
1437
  # define SWIG_RELEASE_STACK --swig_virtual_calls;
1411
1438
  # define Ruby_DirectorTypeMismatchException(x) \
1412
- rb_raise( rb_eTypeError, x ); return c_result;
1439
+ rb_raise( rb_eTypeError, "%s", x ); return c_result;
1413
1440
 
1414
1441
  static unsigned int swig_virtual_calls = 0;
1415
1442
 
@@ -1787,7 +1814,7 @@ static VALUE mSysVIPC;
1787
1814
  #define SWIG_RUBY_THREAD_END_BLOCK
1788
1815
 
1789
1816
 
1790
- #define SWIGVERSION 0x010336
1817
+ #define SWIGVERSION 0x020004
1791
1818
  #define SWIG_VERSION SWIGVERSION
1792
1819
 
1793
1820
 
@@ -1842,16 +1869,20 @@ SWIG_FromCharPtr(const char *cptr)
1842
1869
  #define EWOULDBLOCK EAGAIN
1843
1870
  #endif
1844
1871
 
1872
+ #ifndef HAVE_TYPE_STRUCT_MSGBUF
1845
1873
  struct msgbuf {
1846
1874
  long mtype;
1847
1875
  char mtext[1];
1848
1876
  };
1877
+ #endif
1849
1878
 
1879
+ #ifndef HAVE_TYPE_UNION_SEMUN
1850
1880
  union semun {
1851
1881
  int val;
1852
1882
  struct semid_ds *buf;
1853
1883
  unsigned short *array;
1854
1884
  };
1885
+ #endif
1855
1886
 
1856
1887
  struct shmaddr {
1857
1888
  void *p;
@@ -1862,7 +1893,14 @@ struct shmaddr {
1862
1893
  #ifdef __cplusplus
1863
1894
  extern "C" {
1864
1895
  #endif
1896
+
1897
+ // Ruby 1.9 changed the file name of this header
1898
+ #ifdef HAVE_RUBY_IO_H
1899
+ #include "ruby/io.h"
1900
+ #else
1865
1901
  #include "rubyio.h"
1902
+ #endif
1903
+
1866
1904
  #ifdef __cplusplus
1867
1905
  }
1868
1906
  #endif
@@ -1907,7 +1945,7 @@ SWIG_ruby_failed(void)
1907
1945
  }
1908
1946
 
1909
1947
 
1910
- /*@SWIG:/usr/share/swig/1.3.36/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/
1948
+ /*@SWIG:/usr/share/swig2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
1911
1949
  SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args)
1912
1950
  {
1913
1951
  VALUE obj = args[0];
@@ -2007,7 +2045,7 @@ SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
2007
2045
 
2008
2046
 
2009
2047
 
2010
- /*@SWIG:/usr/share/swig/1.3.36/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/
2048
+ /*@SWIG:/usr/share/swig2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2011
2049
  SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
2012
2050
  {
2013
2051
  VALUE obj = args[0];
@@ -2352,7 +2390,7 @@ _wrap_errno_get(VALUE self) {
2352
2390
  }
2353
2391
 
2354
2392
 
2355
- swig_class cIpc_perm;
2393
+ swig_class SwigClassIpc_perm;
2356
2394
 
2357
2395
  SWIGINTERN VALUE
2358
2396
  _wrap_ipc_perm_uid_set(int argc, VALUE *argv, VALUE self) {
@@ -2691,7 +2729,7 @@ fail:
2691
2729
  }
2692
2730
 
2693
2731
 
2694
- swig_class cMsqid_ds;
2732
+ swig_class SwigClassMsqid_ds;
2695
2733
 
2696
2734
  SWIGINTERN VALUE
2697
2735
  _wrap_msqid_ds_msg_perm_set(int argc, VALUE *argv, VALUE self) {
@@ -3324,7 +3362,7 @@ fail:
3324
3362
  }
3325
3363
 
3326
3364
 
3327
- swig_class cSemid_ds;
3365
+ swig_class SwigClassSemid_ds;
3328
3366
 
3329
3367
  SWIGINTERN VALUE
3330
3368
  _wrap_semid_ds_sem_perm_set(int argc, VALUE *argv, VALUE self) {
@@ -3577,7 +3615,7 @@ free_semid_ds(struct semid_ds *arg1) {
3577
3615
  free((char *) arg1);
3578
3616
  }
3579
3617
 
3580
- swig_class cSembuf;
3618
+ swig_class SwigClassSembuf;
3581
3619
 
3582
3620
  SWIGINTERN VALUE
3583
3621
  _wrap_sembuf_sem_num_set(int argc, VALUE *argv, VALUE self) {
@@ -3907,7 +3945,7 @@ fail:
3907
3945
  }
3908
3946
 
3909
3947
 
3910
- swig_class cShmid_ds;
3948
+ swig_class SwigClassShmid_ds;
3911
3949
 
3912
3950
  SWIGINTERN VALUE
3913
3951
  _wrap_shmid_ds_shm_perm_set(int argc, VALUE *argv, VALUE self) {
@@ -4373,7 +4411,7 @@ free_shmid_ds(struct shmid_ds *arg1) {
4373
4411
  free((char *) arg1);
4374
4412
  }
4375
4413
 
4376
- swig_class cShmaddr;
4414
+ swig_class SwigClassShmaddr;
4377
4415
 
4378
4416
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
4379
4417
  SWIGINTERN VALUE
@@ -4947,7 +4985,7 @@ SWIGEXPORT void Init_SysVIPC(void) {
4947
4985
  }
4948
4986
 
4949
4987
  SWIG_RubyInitializeTrackings();
4950
- rb_define_const(mSysVIPC, "RELEASE", SWIG_FromCharPtr("0.9"));
4988
+ rb_define_const(mSysVIPC, "RELEASE", SWIG_FromCharPtr("0.9.5"));
4951
4989
  rb_define_singleton_method(mSysVIPC, "errno", _wrap_errno_get, 0);
4952
4990
  rb_define_const(mSysVIPC, "IPC_CREAT", SWIG_From_int((int)(IPC_CREAT)));
4953
4991
  rb_define_const(mSysVIPC, "IPC_EXCL", SWIG_From_int((int)(IPC_EXCL)));
@@ -4957,49 +4995,49 @@ SWIGEXPORT void Init_SysVIPC(void) {
4957
4995
  rb_define_const(mSysVIPC, "IPC_SET", SWIG_From_int((int)(IPC_SET)));
4958
4996
  rb_define_const(mSysVIPC, "IPC_STAT", SWIG_From_int((int)(IPC_STAT)));
4959
4997
 
4960
- cIpc_perm.klass = rb_define_class_under(mSysVIPC, "Ipc_perm", rb_cObject);
4961
- SWIG_TypeClientData(SWIGTYPE_p_ipc_perm, (void *) &cIpc_perm);
4962
- rb_define_alloc_func(cIpc_perm.klass, _wrap_ipc_perm_allocate);
4963
- rb_define_method(cIpc_perm.klass, "initialize", _wrap_new_ipc_perm, -1);
4964
- rb_define_method(cIpc_perm.klass, "uid=", _wrap_ipc_perm_uid_set, -1);
4965
- rb_define_method(cIpc_perm.klass, "uid", _wrap_ipc_perm_uid_get, -1);
4966
- rb_define_method(cIpc_perm.klass, "gid=", _wrap_ipc_perm_gid_set, -1);
4967
- rb_define_method(cIpc_perm.klass, "gid", _wrap_ipc_perm_gid_get, -1);
4968
- rb_define_method(cIpc_perm.klass, "cuid=", _wrap_ipc_perm_cuid_set, -1);
4969
- rb_define_method(cIpc_perm.klass, "cuid", _wrap_ipc_perm_cuid_get, -1);
4970
- rb_define_method(cIpc_perm.klass, "cgid=", _wrap_ipc_perm_cgid_set, -1);
4971
- rb_define_method(cIpc_perm.klass, "cgid", _wrap_ipc_perm_cgid_get, -1);
4972
- rb_define_method(cIpc_perm.klass, "mode=", _wrap_ipc_perm_mode_set, -1);
4973
- rb_define_method(cIpc_perm.klass, "mode", _wrap_ipc_perm_mode_get, -1);
4974
- cIpc_perm.mark = 0;
4975
- cIpc_perm.destroy = (void (*)(void *)) free_ipc_perm;
4976
- cIpc_perm.trackObjects = 0;
4998
+ SwigClassIpc_perm.klass = rb_define_class_under(mSysVIPC, "Ipc_perm", rb_cObject);
4999
+ SWIG_TypeClientData(SWIGTYPE_p_ipc_perm, (void *) &SwigClassIpc_perm);
5000
+ rb_define_alloc_func(SwigClassIpc_perm.klass, _wrap_ipc_perm_allocate);
5001
+ rb_define_method(SwigClassIpc_perm.klass, "initialize", _wrap_new_ipc_perm, -1);
5002
+ rb_define_method(SwigClassIpc_perm.klass, "uid=", _wrap_ipc_perm_uid_set, -1);
5003
+ rb_define_method(SwigClassIpc_perm.klass, "uid", _wrap_ipc_perm_uid_get, -1);
5004
+ rb_define_method(SwigClassIpc_perm.klass, "gid=", _wrap_ipc_perm_gid_set, -1);
5005
+ rb_define_method(SwigClassIpc_perm.klass, "gid", _wrap_ipc_perm_gid_get, -1);
5006
+ rb_define_method(SwigClassIpc_perm.klass, "cuid=", _wrap_ipc_perm_cuid_set, -1);
5007
+ rb_define_method(SwigClassIpc_perm.klass, "cuid", _wrap_ipc_perm_cuid_get, -1);
5008
+ rb_define_method(SwigClassIpc_perm.klass, "cgid=", _wrap_ipc_perm_cgid_set, -1);
5009
+ rb_define_method(SwigClassIpc_perm.klass, "cgid", _wrap_ipc_perm_cgid_get, -1);
5010
+ rb_define_method(SwigClassIpc_perm.klass, "mode=", _wrap_ipc_perm_mode_set, -1);
5011
+ rb_define_method(SwigClassIpc_perm.klass, "mode", _wrap_ipc_perm_mode_get, -1);
5012
+ SwigClassIpc_perm.mark = 0;
5013
+ SwigClassIpc_perm.destroy = (void (*)(void *)) free_ipc_perm;
5014
+ SwigClassIpc_perm.trackObjects = 0;
4977
5015
  rb_define_module_function(mSysVIPC, "ftok", _wrap_ftok, -1);
4978
5016
  rb_define_const(mSysVIPC, "MSG_NOERROR", SWIG_From_int((int)(MSG_NOERROR)));
4979
5017
 
4980
- cMsqid_ds.klass = rb_define_class_under(mSysVIPC, "Msqid_ds", rb_cObject);
4981
- SWIG_TypeClientData(SWIGTYPE_p_msqid_ds, (void *) &cMsqid_ds);
4982
- rb_define_alloc_func(cMsqid_ds.klass, _wrap_msqid_ds_allocate);
4983
- rb_define_method(cMsqid_ds.klass, "initialize", _wrap_new_msqid_ds, -1);
4984
- rb_define_method(cMsqid_ds.klass, "msg_perm=", _wrap_msqid_ds_msg_perm_set, -1);
4985
- rb_define_method(cMsqid_ds.klass, "msg_perm", _wrap_msqid_ds_msg_perm_get, -1);
4986
- rb_define_method(cMsqid_ds.klass, "msg_qnum=", _wrap_msqid_ds_msg_qnum_set, -1);
4987
- rb_define_method(cMsqid_ds.klass, "msg_qnum", _wrap_msqid_ds_msg_qnum_get, -1);
4988
- rb_define_method(cMsqid_ds.klass, "msg_qbytes=", _wrap_msqid_ds_msg_qbytes_set, -1);
4989
- rb_define_method(cMsqid_ds.klass, "msg_qbytes", _wrap_msqid_ds_msg_qbytes_get, -1);
4990
- rb_define_method(cMsqid_ds.klass, "msg_lspid=", _wrap_msqid_ds_msg_lspid_set, -1);
4991
- rb_define_method(cMsqid_ds.klass, "msg_lspid", _wrap_msqid_ds_msg_lspid_get, -1);
4992
- rb_define_method(cMsqid_ds.klass, "msg_lrpid=", _wrap_msqid_ds_msg_lrpid_set, -1);
4993
- rb_define_method(cMsqid_ds.klass, "msg_lrpid", _wrap_msqid_ds_msg_lrpid_get, -1);
4994
- rb_define_method(cMsqid_ds.klass, "msg_stime=", _wrap_msqid_ds_msg_stime_set, -1);
4995
- rb_define_method(cMsqid_ds.klass, "msg_stime", _wrap_msqid_ds_msg_stime_get, -1);
4996
- rb_define_method(cMsqid_ds.klass, "msg_rtime=", _wrap_msqid_ds_msg_rtime_set, -1);
4997
- rb_define_method(cMsqid_ds.klass, "msg_rtime", _wrap_msqid_ds_msg_rtime_get, -1);
4998
- rb_define_method(cMsqid_ds.klass, "msg_ctime=", _wrap_msqid_ds_msg_ctime_set, -1);
4999
- rb_define_method(cMsqid_ds.klass, "msg_ctime", _wrap_msqid_ds_msg_ctime_get, -1);
5000
- cMsqid_ds.mark = 0;
5001
- cMsqid_ds.destroy = (void (*)(void *)) free_msqid_ds;
5002
- cMsqid_ds.trackObjects = 0;
5018
+ SwigClassMsqid_ds.klass = rb_define_class_under(mSysVIPC, "Msqid_ds", rb_cObject);
5019
+ SWIG_TypeClientData(SWIGTYPE_p_msqid_ds, (void *) &SwigClassMsqid_ds);
5020
+ rb_define_alloc_func(SwigClassMsqid_ds.klass, _wrap_msqid_ds_allocate);
5021
+ rb_define_method(SwigClassMsqid_ds.klass, "initialize", _wrap_new_msqid_ds, -1);
5022
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_perm=", _wrap_msqid_ds_msg_perm_set, -1);
5023
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_perm", _wrap_msqid_ds_msg_perm_get, -1);
5024
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_qnum=", _wrap_msqid_ds_msg_qnum_set, -1);
5025
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_qnum", _wrap_msqid_ds_msg_qnum_get, -1);
5026
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_qbytes=", _wrap_msqid_ds_msg_qbytes_set, -1);
5027
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_qbytes", _wrap_msqid_ds_msg_qbytes_get, -1);
5028
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_lspid=", _wrap_msqid_ds_msg_lspid_set, -1);
5029
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_lspid", _wrap_msqid_ds_msg_lspid_get, -1);
5030
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_lrpid=", _wrap_msqid_ds_msg_lrpid_set, -1);
5031
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_lrpid", _wrap_msqid_ds_msg_lrpid_get, -1);
5032
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_stime=", _wrap_msqid_ds_msg_stime_set, -1);
5033
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_stime", _wrap_msqid_ds_msg_stime_get, -1);
5034
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_rtime=", _wrap_msqid_ds_msg_rtime_set, -1);
5035
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_rtime", _wrap_msqid_ds_msg_rtime_get, -1);
5036
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_ctime=", _wrap_msqid_ds_msg_ctime_set, -1);
5037
+ rb_define_method(SwigClassMsqid_ds.klass, "msg_ctime", _wrap_msqid_ds_msg_ctime_get, -1);
5038
+ SwigClassMsqid_ds.mark = 0;
5039
+ SwigClassMsqid_ds.destroy = (void (*)(void *)) free_msqid_ds;
5040
+ SwigClassMsqid_ds.trackObjects = 0;
5003
5041
  rb_define_module_function(mSysVIPC, "msgctl", _wrap_msgctl, -1);
5004
5042
  rb_define_module_function(mSysVIPC, "msgget", _wrap_msgget, -1);
5005
5043
  rb_define_module_function(mSysVIPC, "msgrcv", _wrap_msgrcv, -1);
@@ -5013,35 +5051,35 @@ SWIGEXPORT void Init_SysVIPC(void) {
5013
5051
  rb_define_const(mSysVIPC, "SETVAL", SWIG_From_int((int)(SETVAL)));
5014
5052
  rb_define_const(mSysVIPC, "SETALL", SWIG_From_int((int)(SETALL)));
5015
5053
 
5016
- cSemid_ds.klass = rb_define_class_under(mSysVIPC, "Semid_ds", rb_cObject);
5017
- SWIG_TypeClientData(SWIGTYPE_p_semid_ds, (void *) &cSemid_ds);
5018
- rb_define_alloc_func(cSemid_ds.klass, _wrap_semid_ds_allocate);
5019
- rb_define_method(cSemid_ds.klass, "initialize", _wrap_new_semid_ds, -1);
5020
- rb_define_method(cSemid_ds.klass, "sem_perm=", _wrap_semid_ds_sem_perm_set, -1);
5021
- rb_define_method(cSemid_ds.klass, "sem_perm", _wrap_semid_ds_sem_perm_get, -1);
5022
- rb_define_method(cSemid_ds.klass, "sem_nsems=", _wrap_semid_ds_sem_nsems_set, -1);
5023
- rb_define_method(cSemid_ds.klass, "sem_nsems", _wrap_semid_ds_sem_nsems_get, -1);
5024
- rb_define_method(cSemid_ds.klass, "sem_otime=", _wrap_semid_ds_sem_otime_set, -1);
5025
- rb_define_method(cSemid_ds.klass, "sem_otime", _wrap_semid_ds_sem_otime_get, -1);
5026
- rb_define_method(cSemid_ds.klass, "sem_ctime=", _wrap_semid_ds_sem_ctime_set, -1);
5027
- rb_define_method(cSemid_ds.klass, "sem_ctime", _wrap_semid_ds_sem_ctime_get, -1);
5028
- cSemid_ds.mark = 0;
5029
- cSemid_ds.destroy = (void (*)(void *)) free_semid_ds;
5030
- cSemid_ds.trackObjects = 0;
5054
+ SwigClassSemid_ds.klass = rb_define_class_under(mSysVIPC, "Semid_ds", rb_cObject);
5055
+ SWIG_TypeClientData(SWIGTYPE_p_semid_ds, (void *) &SwigClassSemid_ds);
5056
+ rb_define_alloc_func(SwigClassSemid_ds.klass, _wrap_semid_ds_allocate);
5057
+ rb_define_method(SwigClassSemid_ds.klass, "initialize", _wrap_new_semid_ds, -1);
5058
+ rb_define_method(SwigClassSemid_ds.klass, "sem_perm=", _wrap_semid_ds_sem_perm_set, -1);
5059
+ rb_define_method(SwigClassSemid_ds.klass, "sem_perm", _wrap_semid_ds_sem_perm_get, -1);
5060
+ rb_define_method(SwigClassSemid_ds.klass, "sem_nsems=", _wrap_semid_ds_sem_nsems_set, -1);
5061
+ rb_define_method(SwigClassSemid_ds.klass, "sem_nsems", _wrap_semid_ds_sem_nsems_get, -1);
5062
+ rb_define_method(SwigClassSemid_ds.klass, "sem_otime=", _wrap_semid_ds_sem_otime_set, -1);
5063
+ rb_define_method(SwigClassSemid_ds.klass, "sem_otime", _wrap_semid_ds_sem_otime_get, -1);
5064
+ rb_define_method(SwigClassSemid_ds.klass, "sem_ctime=", _wrap_semid_ds_sem_ctime_set, -1);
5065
+ rb_define_method(SwigClassSemid_ds.klass, "sem_ctime", _wrap_semid_ds_sem_ctime_get, -1);
5066
+ SwigClassSemid_ds.mark = 0;
5067
+ SwigClassSemid_ds.destroy = (void (*)(void *)) free_semid_ds;
5068
+ SwigClassSemid_ds.trackObjects = 0;
5031
5069
 
5032
- cSembuf.klass = rb_define_class_under(mSysVIPC, "Sembuf", rb_cObject);
5033
- SWIG_TypeClientData(SWIGTYPE_p_sembuf, (void *) &cSembuf);
5034
- rb_define_alloc_func(cSembuf.klass, _wrap_sembuf_allocate);
5035
- rb_define_method(cSembuf.klass, "initialize", _wrap_new_sembuf, -1);
5036
- rb_define_method(cSembuf.klass, "sem_num=", _wrap_sembuf_sem_num_set, -1);
5037
- rb_define_method(cSembuf.klass, "sem_num", _wrap_sembuf_sem_num_get, -1);
5038
- rb_define_method(cSembuf.klass, "sem_op=", _wrap_sembuf_sem_op_set, -1);
5039
- rb_define_method(cSembuf.klass, "sem_op", _wrap_sembuf_sem_op_get, -1);
5040
- rb_define_method(cSembuf.klass, "sem_flg=", _wrap_sembuf_sem_flg_set, -1);
5041
- rb_define_method(cSembuf.klass, "sem_flg", _wrap_sembuf_sem_flg_get, -1);
5042
- cSembuf.mark = 0;
5043
- cSembuf.destroy = (void (*)(void *)) free_sembuf;
5044
- cSembuf.trackObjects = 0;
5070
+ SwigClassSembuf.klass = rb_define_class_under(mSysVIPC, "Sembuf", rb_cObject);
5071
+ SWIG_TypeClientData(SWIGTYPE_p_sembuf, (void *) &SwigClassSembuf);
5072
+ rb_define_alloc_func(SwigClassSembuf.klass, _wrap_sembuf_allocate);
5073
+ rb_define_method(SwigClassSembuf.klass, "initialize", _wrap_new_sembuf, -1);
5074
+ rb_define_method(SwigClassSembuf.klass, "sem_num=", _wrap_sembuf_sem_num_set, -1);
5075
+ rb_define_method(SwigClassSembuf.klass, "sem_num", _wrap_sembuf_sem_num_get, -1);
5076
+ rb_define_method(SwigClassSembuf.klass, "sem_op=", _wrap_sembuf_sem_op_set, -1);
5077
+ rb_define_method(SwigClassSembuf.klass, "sem_op", _wrap_sembuf_sem_op_get, -1);
5078
+ rb_define_method(SwigClassSembuf.klass, "sem_flg=", _wrap_sembuf_sem_flg_set, -1);
5079
+ rb_define_method(SwigClassSembuf.klass, "sem_flg", _wrap_sembuf_sem_flg_get, -1);
5080
+ SwigClassSembuf.mark = 0;
5081
+ SwigClassSembuf.destroy = (void (*)(void *)) free_sembuf;
5082
+ SwigClassSembuf.trackObjects = 0;
5045
5083
  rb_define_module_function(mSysVIPC, "semctl", _wrap_semctl, -1);
5046
5084
  rb_define_module_function(mSysVIPC, "semget", _wrap_semget, -1);
5047
5085
  rb_define_module_function(mSysVIPC, "semop", _wrap_semop, -1);
@@ -5049,37 +5087,37 @@ SWIGEXPORT void Init_SysVIPC(void) {
5049
5087
  rb_define_const(mSysVIPC, "SHMLBA", SWIG_From_int((int)(SHMLBA)));
5050
5088
  rb_define_const(mSysVIPC, "SHM_RND", SWIG_From_int((int)(SHM_RND)));
5051
5089
 
5052
- cShmid_ds.klass = rb_define_class_under(mSysVIPC, "Shmid_ds", rb_cObject);
5053
- SWIG_TypeClientData(SWIGTYPE_p_shmid_ds, (void *) &cShmid_ds);
5054
- rb_define_alloc_func(cShmid_ds.klass, _wrap_shmid_ds_allocate);
5055
- rb_define_method(cShmid_ds.klass, "initialize", _wrap_new_shmid_ds, -1);
5056
- rb_define_method(cShmid_ds.klass, "shm_perm=", _wrap_shmid_ds_shm_perm_set, -1);
5057
- rb_define_method(cShmid_ds.klass, "shm_perm", _wrap_shmid_ds_shm_perm_get, -1);
5058
- rb_define_method(cShmid_ds.klass, "shm_segsz=", _wrap_shmid_ds_shm_segsz_set, -1);
5059
- rb_define_method(cShmid_ds.klass, "shm_segsz", _wrap_shmid_ds_shm_segsz_get, -1);
5060
- rb_define_method(cShmid_ds.klass, "shm_lpid=", _wrap_shmid_ds_shm_lpid_set, -1);
5061
- rb_define_method(cShmid_ds.klass, "shm_lpid", _wrap_shmid_ds_shm_lpid_get, -1);
5062
- rb_define_method(cShmid_ds.klass, "shm_cpid=", _wrap_shmid_ds_shm_cpid_set, -1);
5063
- rb_define_method(cShmid_ds.klass, "shm_cpid", _wrap_shmid_ds_shm_cpid_get, -1);
5064
- rb_define_method(cShmid_ds.klass, "shm_nattch=", _wrap_shmid_ds_shm_nattch_set, -1);
5065
- rb_define_method(cShmid_ds.klass, "shm_nattch", _wrap_shmid_ds_shm_nattch_get, -1);
5066
- rb_define_method(cShmid_ds.klass, "shm_atime=", _wrap_shmid_ds_shm_atime_set, -1);
5067
- rb_define_method(cShmid_ds.klass, "shm_atime", _wrap_shmid_ds_shm_atime_get, -1);
5068
- rb_define_method(cShmid_ds.klass, "shm_dtime=", _wrap_shmid_ds_shm_dtime_set, -1);
5069
- rb_define_method(cShmid_ds.klass, "shm_dtime", _wrap_shmid_ds_shm_dtime_get, -1);
5070
- rb_define_method(cShmid_ds.klass, "shm_ctime=", _wrap_shmid_ds_shm_ctime_set, -1);
5071
- rb_define_method(cShmid_ds.klass, "shm_ctime", _wrap_shmid_ds_shm_ctime_get, -1);
5072
- cShmid_ds.mark = 0;
5073
- cShmid_ds.destroy = (void (*)(void *)) free_shmid_ds;
5074
- cShmid_ds.trackObjects = 0;
5090
+ SwigClassShmid_ds.klass = rb_define_class_under(mSysVIPC, "Shmid_ds", rb_cObject);
5091
+ SWIG_TypeClientData(SWIGTYPE_p_shmid_ds, (void *) &SwigClassShmid_ds);
5092
+ rb_define_alloc_func(SwigClassShmid_ds.klass, _wrap_shmid_ds_allocate);
5093
+ rb_define_method(SwigClassShmid_ds.klass, "initialize", _wrap_new_shmid_ds, -1);
5094
+ rb_define_method(SwigClassShmid_ds.klass, "shm_perm=", _wrap_shmid_ds_shm_perm_set, -1);
5095
+ rb_define_method(SwigClassShmid_ds.klass, "shm_perm", _wrap_shmid_ds_shm_perm_get, -1);
5096
+ rb_define_method(SwigClassShmid_ds.klass, "shm_segsz=", _wrap_shmid_ds_shm_segsz_set, -1);
5097
+ rb_define_method(SwigClassShmid_ds.klass, "shm_segsz", _wrap_shmid_ds_shm_segsz_get, -1);
5098
+ rb_define_method(SwigClassShmid_ds.klass, "shm_lpid=", _wrap_shmid_ds_shm_lpid_set, -1);
5099
+ rb_define_method(SwigClassShmid_ds.klass, "shm_lpid", _wrap_shmid_ds_shm_lpid_get, -1);
5100
+ rb_define_method(SwigClassShmid_ds.klass, "shm_cpid=", _wrap_shmid_ds_shm_cpid_set, -1);
5101
+ rb_define_method(SwigClassShmid_ds.klass, "shm_cpid", _wrap_shmid_ds_shm_cpid_get, -1);
5102
+ rb_define_method(SwigClassShmid_ds.klass, "shm_nattch=", _wrap_shmid_ds_shm_nattch_set, -1);
5103
+ rb_define_method(SwigClassShmid_ds.klass, "shm_nattch", _wrap_shmid_ds_shm_nattch_get, -1);
5104
+ rb_define_method(SwigClassShmid_ds.klass, "shm_atime=", _wrap_shmid_ds_shm_atime_set, -1);
5105
+ rb_define_method(SwigClassShmid_ds.klass, "shm_atime", _wrap_shmid_ds_shm_atime_get, -1);
5106
+ rb_define_method(SwigClassShmid_ds.klass, "shm_dtime=", _wrap_shmid_ds_shm_dtime_set, -1);
5107
+ rb_define_method(SwigClassShmid_ds.klass, "shm_dtime", _wrap_shmid_ds_shm_dtime_get, -1);
5108
+ rb_define_method(SwigClassShmid_ds.klass, "shm_ctime=", _wrap_shmid_ds_shm_ctime_set, -1);
5109
+ rb_define_method(SwigClassShmid_ds.klass, "shm_ctime", _wrap_shmid_ds_shm_ctime_get, -1);
5110
+ SwigClassShmid_ds.mark = 0;
5111
+ SwigClassShmid_ds.destroy = (void (*)(void *)) free_shmid_ds;
5112
+ SwigClassShmid_ds.trackObjects = 0;
5075
5113
 
5076
- cShmaddr.klass = rb_define_class_under(mSysVIPC, "Shmaddr", rb_cObject);
5077
- SWIG_TypeClientData(SWIGTYPE_p_shmaddr, (void *) &cShmaddr);
5078
- rb_define_alloc_func(cShmaddr.klass, _wrap_shmaddr_allocate);
5079
- rb_define_method(cShmaddr.klass, "initialize", _wrap_new_shmaddr, -1);
5080
- cShmaddr.mark = 0;
5081
- cShmaddr.destroy = (void (*)(void *)) free_shmaddr;
5082
- cShmaddr.trackObjects = 0;
5114
+ SwigClassShmaddr.klass = rb_define_class_under(mSysVIPC, "Shmaddr", rb_cObject);
5115
+ SWIG_TypeClientData(SWIGTYPE_p_shmaddr, (void *) &SwigClassShmaddr);
5116
+ rb_define_alloc_func(SwigClassShmaddr.klass, _wrap_shmaddr_allocate);
5117
+ rb_define_method(SwigClassShmaddr.klass, "initialize", _wrap_new_shmaddr, -1);
5118
+ SwigClassShmaddr.mark = 0;
5119
+ SwigClassShmaddr.destroy = (void (*)(void *)) free_shmaddr;
5120
+ SwigClassShmaddr.trackObjects = 0;
5083
5121
  rb_define_module_function(mSysVIPC, "shmat", _wrap_shmat, -1);
5084
5122
  rb_define_module_function(mSysVIPC, "shmctl", _wrap_shmctl, -1);
5085
5123
  rb_define_module_function(mSysVIPC, "shmdt", _wrap_shmdt, -1);
data/ext/extconf.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require 'mkmf'
2
2
 
3
+ have_type('struct msgbuf', 'sys/msg.h')
4
+ have_type('union semun', 'sys/sem.h')
5
+
3
6
  if have_header('sys/types.h') and have_header('sys/ipc.h') and
4
7
  have_header('sys/msg.h') and have_func('msgget') and
5
8
  have_header('sys/sem.h') and have_func('semget') and
data/lib/SysVIPC.rb CHANGED
@@ -66,7 +66,7 @@ require 'SysVIPC.so'
66
66
  #
67
67
  # Get (create if necessary) an 8192-byte shared memory region:
68
68
  #
69
- # sh = SharedMemory(key, 8192, IPC_CREAT | 0660)
69
+ # sh = SharedMemory.new(key, 8192, IPC_CREAT | 0660)
70
70
  #
71
71
  # Attach shared memory:
72
72
  #
@@ -103,6 +103,8 @@ module SysVIPC
103
103
 
104
104
  class MessageQueue
105
105
 
106
+ include SysVIPC
107
+
106
108
  private
107
109
 
108
110
  # Return a MessageQueue object encapsuating a message queue
@@ -115,6 +117,8 @@ module SysVIPC
115
117
 
116
118
  public
117
119
 
120
+ attr_reader :msgid
121
+
118
122
  # Return the Msqid_ds object. See msgctl(2).
119
123
 
120
124
  def ipc_stat
@@ -163,6 +167,8 @@ module SysVIPC
163
167
 
164
168
  class Sembuf
165
169
 
170
+ include SysVIPC
171
+
166
172
  alias :orig_initialize :initialize
167
173
 
168
174
  # Create a new Sembuf object for semaphore number +sem_num+,
@@ -179,6 +185,8 @@ module SysVIPC
179
185
 
180
186
  class Semaphore
181
187
 
188
+ include SysVIPC
189
+
182
190
  private
183
191
 
184
192
  # Return a Sempahore object encapsulating a
@@ -192,13 +200,15 @@ module SysVIPC
192
200
 
193
201
  public
194
202
 
203
+ attr_reader :semid
204
+
195
205
  # Set each value in the semaphore set to the corresponding value
196
206
  # in the Array +values+. See semctl(2).
197
207
 
198
208
  def setall(values)
199
209
  if values.length > @nsems
200
210
  raise ArgumentError,
201
- "too many values(#{values.length} for semaphore set (#{@nsems})"
211
+ "too many values (#{values.length}) for semaphore set (#{@nsems})"
202
212
  end
203
213
  check_result(semctl(@semid, 0, SETALL, values))
204
214
  end
@@ -228,24 +238,24 @@ module SysVIPC
228
238
  # Get the process ID of the last semaphore operation. See
229
239
  # semctl(2).
230
240
 
231
- def getpid
232
- semctl(@semid, 0, GETPID)
241
+ def getpid(semnum)
242
+ semctl(@semid, semnum, GETPID)
233
243
  end
234
244
  alias :pid :getpid
235
245
 
236
246
  # Get the number of processes waiting for a semaphore to become
237
247
  # non-zero. See semctl(2).
238
248
 
239
- def getncnt
240
- semctl(@semid, 0, GETNCNT)
249
+ def getncnt(semnum)
250
+ semctl(@semid, semnum, GETNCNT)
241
251
  end
242
252
  alias :ncnt :getncnt
243
253
 
244
254
  # Get the number of processes waiting for a semaphore to become
245
255
  # zero. See semctl(2).
246
256
 
247
- def getzcnt
248
- semctl(@semid, 0, GETZCNT)
257
+ def getzcnt(semnum)
258
+ semctl(@semid, semnum, GETZCNT)
249
259
  end
250
260
  alias :zcnt :getzcnt
251
261
 
@@ -287,6 +297,8 @@ module SysVIPC
287
297
 
288
298
  class SharedMemory
289
299
 
300
+ include SysVIPC
301
+
290
302
  private
291
303
 
292
304
  # Return a SharedMemory object encapsulating a
@@ -300,6 +312,8 @@ module SysVIPC
300
312
 
301
313
  public
302
314
 
315
+ attr_reader :shmid
316
+
303
317
  # Return the Shmid_ds object. See shmctl(2).
304
318
 
305
319
  def ipc_stat
@@ -348,6 +362,8 @@ module SysVIPC
348
362
 
349
363
  class Shmaddr
350
364
 
365
+ include SysVIPC
366
+
351
367
  # Write the string +text+ to offset +offset+.
352
368
 
353
369
  def write(text, offset = 0)
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: SysVIPC
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.9"
4
+ hash: 49
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 9
9
+ - 5
10
+ version: 0.9.5
5
11
  platform: ruby
6
12
  authors:
7
13
  - Steven Jenkins
@@ -9,8 +15,7 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2009-07-11 00:00:00 -07:00
13
- default_executable:
18
+ date: 2013-02-22 00:00:00 Z
14
19
  dependencies: []
15
20
 
16
21
  description: "System V Inter-Process Communication: message queues, semaphores, and shared memory."
@@ -24,32 +29,40 @@ extra_rdoc_files: []
24
29
  files:
25
30
  - lib/SysVIPC.rb
26
31
  - ext/SysVIPC.c
27
- has_rdoc: true
32
+ - ./ext/extconf.rb
28
33
  homepage: http://rubyforge.org/projects/sysvipc/
34
+ licenses: []
35
+
29
36
  post_install_message:
30
37
  rdoc_options:
31
- - --title
38
+ - "--title "
32
39
  - SysVIPC
33
40
  require_paths:
34
41
  - lib
35
42
  required_ruby_version: !ruby/object:Gem::Requirement
43
+ none: false
36
44
  requirements:
37
45
  - - ">="
38
46
  - !ruby/object:Gem::Version
47
+ hash: 3
48
+ segments:
49
+ - 0
39
50
  version: "0"
40
- version:
41
51
  required_rubygems_version: !ruby/object:Gem::Requirement
52
+ none: false
42
53
  requirements:
43
54
  - - ">="
44
55
  - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
45
59
  version: "0"
46
- version:
47
60
  requirements: []
48
61
 
49
62
  rubyforge_project: sysvipc
50
- rubygems_version: 1.3.1
63
+ rubygems_version: 1.8.15
51
64
  signing_key:
52
- specification_version: 2
53
- summary: Builders for MarkUp.
65
+ specification_version: 3
66
+ summary: System V Inter-Process Communication.
54
67
  test_files: []
55
68