r2corba 1.5.4 → 1.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +3 -2
- data/ext/libr2tao/any.cpp +11 -10
- data/ext/libr2tao/exception.cpp +6 -8
- data/ext/libr2tao/exception.h +1 -1
- data/ext/libr2tao/longdouble.cpp +5 -9
- data/ext/libr2tao/object.cpp +37 -53
- data/ext/libr2tao/orb.cpp +46 -73
- data/ext/libr2tao/r2tao_ext.h +8 -19
- data/ext/libr2tao/required.cpp +3 -8
- data/ext/libr2tao/required.h +18 -34
- data/ext/libr2tao/values.cpp +97 -98
- data/ext/libr2tao/values.h +35 -37
- data/ext/librpoa/iortable.cpp +6 -7
- data/ext/librpoa/poa.cpp +29 -32
- data/ext/librpoa/servant.cpp +39 -113
- data/ext/librpoa/servant.h +18 -40
- data/lib/corba/cbase/ORB.rb +26 -23
- data/lib/corba/cbase/Request.rb +3 -3
- data/lib/corba/cbase/Streams.rb +2 -2
- data/lib/corba/cbase/Typecode.rb +6 -6
- data/lib/corba/cbase/Values.rb +4 -2
- data/lib/corba/cbase/exception.rb +6 -4
- data/lib/corba/cbase/poa.rb +1 -1
- data/lib/corba/cbase/policies.rb +2 -2
- data/lib/corba/cbase/require.rb +8 -1
- data/lib/corba/cmds/base.rb +1 -1
- data/lib/corba/common/Any.rb +3 -2
- data/lib/corba/common/IDL.rb +1 -1
- data/lib/corba/common/ORB.rb +22 -22
- data/lib/corba/common/Object.rb +14 -14
- data/lib/corba/common/Servant.rb +4 -4
- data/lib/corba/common/Stub.rb +6 -6
- data/lib/corba/common/Typecode.rb +69 -42
- data/lib/corba/common/Union.rb +5 -0
- data/lib/corba/common/Values.rb +1 -0
- data/lib/corba/common/const.rb +2 -2
- data/lib/corba/common/exception.rb +2 -1
- data/lib/corba/common/version.rb +2 -2
- data/lib/corba/idl/IDL.rb +1 -1
- data/lib/corba/jbase/Any.rb +28 -26
- data/lib/corba/jbase/ORB.rb +5 -5
- data/lib/corba/jbase/Object.rb +13 -13
- data/lib/corba/jbase/Request.rb +8 -8
- data/lib/corba/jbase/Servant.rb +10 -10
- data/lib/corba/jbase/ServerRequest.rb +7 -7
- data/lib/corba/jbase/Streams.rb +67 -3
- data/lib/corba/jbase/Typecode.rb +17 -16
- data/lib/corba/jbase/Values.rb +2 -0
- data/lib/corba/jbase/exception.rb +2 -1
- data/lib/corba/jbase/poa.rb +20 -20
- data/lib/corba/jbase/policies.rb +32 -32
- data/lib/corba/jbase/require.rb +4 -0
- data/lib/corba/poa.rb +1 -1
- data/lib/corba/policies.rb +1 -1
- data/lib/corba/require.rb +2 -2
- data/lib/corba/svcs/ins/cos_naming.rb +37 -28
- data/lib/corba/svcs/ins/ins.rb +51 -51
- data/lib/corba/svcs/ins/naming_service.rb +8 -8
- data/lib/corba.rb +1 -1
- data/lib/ridlbe/ruby/config.rb +37 -30
- data/lib/ridlbe/ruby/walker.rb +295 -272
- data/mkrf_conf_srcgem.rb +6 -6
- data/rakelib/bin.rake +1 -1
- data/rakelib/bin.rb +3 -3
- data/rakelib/build.rake +16 -16
- data/rakelib/config.rake +1 -1
- data/rakelib/config.rb +22 -22
- data/rakelib/ext.rake +7 -68
- data/rakelib/ext.rb +15 -15
- data/rakelib/ext_r2tao.rb +12 -55
- data/rakelib/gem.rake +25 -25
- data/rakelib/gem.rb +6 -6
- data/rakelib/package.rake +1 -1
- data/test/BiDirectional/client.rb +17 -17
- data/test/BiDirectional/run_test.rb +11 -11
- data/test/BiDirectional/server.rb +24 -25
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +17 -17
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +13 -13
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +19 -19
- data/test/CORBA_Services/Naming/Corbaname/client.rb +15 -15
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +13 -13
- data/test/CORBA_Services/Naming/Corbaname/server.rb +30 -30
- data/test/CORBA_Services/Naming/Simple/client.rb +16 -16
- data/test/CORBA_Services/Naming/Simple/run_test.rb +13 -13
- data/test/CORBA_Services/Naming/Simple/server.rb +19 -19
- data/test/Collocation/run_test.rb +10 -10
- data/test/Collocation/test.rb +27 -20
- data/test/Connect_Timeout/client.rb +16 -17
- data/test/Connect_Timeout/run_test.rb +10 -10
- data/test/DII/client.rb +30 -30
- data/test/DII/run_test.rb +11 -11
- data/test/DII/server.rb +16 -16
- data/test/DSI/client.rb +16 -16
- data/test/DSI/run_test.rb +11 -11
- data/test/DSI/server.rb +17 -17
- data/test/Exceptions/client.rb +21 -21
- data/test/Exceptions/run_test.rb +11 -11
- data/test/Exceptions/server.rb +16 -16
- data/test/Hello/client.rb +16 -16
- data/test/Hello/run_test.rb +11 -11
- data/test/Hello/server.rb +17 -17
- data/test/IDL_Test/client.rb +21 -21
- data/test/IDL_Test/run_test.rb +11 -11
- data/test/IDL_Test/server.rb +19 -19
- data/test/IORMap/client.rb +14 -14
- data/test/IORMap/run_test.rb +11 -11
- data/test/IORMap/server.rb +26 -26
- data/test/IORTable/client.rb +14 -14
- data/test/IORTable/run_test.rb +11 -11
- data/test/IORTable/server.rb +26 -26
- data/test/Implicit_Conversion/client.rb +20 -17
- data/test/Implicit_Conversion/run_test.rb +11 -11
- data/test/Implicit_Conversion/server.rb +16 -16
- data/test/Multi_Threading/Multiple_ORB/client.rb +14 -14
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +12 -12
- data/test/Multi_Threading/Multiple_ORB/server.rb +17 -17
- data/test/Multi_Threading/Simple/client.rb +17 -17
- data/test/Multi_Threading/Simple/run_test.rb +11 -11
- data/test/Multi_Threading/Simple/server.rb +16 -16
- data/test/Multi_Threading/Threads/client.rb +16 -16
- data/test/Multi_Threading/Threads/run_test.rb +11 -11
- data/test/Multi_Threading/Threads/server.rb +22 -22
- data/test/Multi_Threading/Threads/watchdog.rb +16 -16
- data/test/Multiple_Servant_Interfaces/client.rb +14 -14
- data/test/Multiple_Servant_Interfaces/run_test.rb +11 -11
- data/test/Multiple_Servant_Interfaces/server.rb +18 -18
- data/test/Nil/run_test.rb +10 -10
- data/test/Nil/test.rb +14 -15
- data/test/OBV/AbstractInterface/client.rb +14 -14
- data/test/OBV/AbstractInterface/run_test.rb +11 -11
- data/test/OBV/AbstractInterface/server.rb +20 -19
- data/test/OBV/Custom/OBV_impl.rb +2 -0
- data/test/OBV/Custom/client.rb +14 -14
- data/test/OBV/Custom/run_test.rb +11 -11
- data/test/OBV/Custom/server.rb +16 -16
- data/test/OBV/Simple/OBV_impl.rb +1 -0
- data/test/OBV/Simple/client.rb +14 -14
- data/test/OBV/Simple/run_test.rb +11 -11
- data/test/OBV/Simple/server.rb +16 -16
- data/test/OBV/Simple_Event/Event_impl.rb +1 -0
- data/test/OBV/Simple_Event/client.rb +14 -14
- data/test/OBV/Simple_Event/run_test.rb +11 -11
- data/test/OBV/Simple_Event/server.rb +16 -16
- data/test/OBV/Supports/client.rb +19 -19
- data/test/OBV/Supports/run_test.rb +11 -11
- data/test/OBV/Supports/server.rb +15 -15
- data/test/OBV/Supports/supports_impl.rb +3 -0
- data/test/OBV/Tree/client.rb +14 -14
- data/test/OBV/Tree/run_test.rb +11 -11
- data/test/OBV/Tree/server.rb +19 -19
- data/test/OBV/Truncatable/Truncatable_impl.rb +1 -1
- data/test/OBV/Truncatable/client.rb +57 -57
- data/test/OBV/Truncatable/run_test.rb +11 -11
- data/test/OBV/Truncatable/server.rb +15 -15
- data/test/OBV/ValueBox/client.rb +154 -153
- data/test/OBV/ValueBox/run_test.rb +11 -11
- data/test/OBV/ValueBox/server.rb +42 -42
- data/test/Object/client.rb +15 -15
- data/test/Object/run_test.rb +11 -11
- data/test/Object/server.rb +19 -19
- data/test/POA/run_test.rb +10 -10
- data/test/POA/test.rb +16 -16
- data/test/Param_Test/client.rb +51 -51
- data/test/Param_Test/run_test.rb +11 -11
- data/test/Param_Test/server.rb +59 -59
- data/test/Performance/Simple/client.rb +16 -16
- data/test/Performance/Simple/run_test.rb +11 -11
- data/test/Performance/Simple/server.rb +16 -16
- data/test/Policies/run_test.rb +10 -10
- data/test/Policies/test.rb +23 -24
- data/test/Timeout/client.rb +21 -21
- data/test/Timeout/run_test.rb +11 -11
- data/test/Timeout/server.rb +22 -22
- data/test/lib/assert.rb +0 -1
- data/test/lib/test.rb +28 -23
- data/test/test_runner.rb +21 -22
- metadata +6 -9
- data/ext/extload/extload.c +0 -60
- data/ext/librpoa/srvreq_fix.cpp +0 -282
- data/ext/librpoa/srvreq_fix.h +0 -148
data/ext/libr2tao/orb.cpp
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
#include "ace/Reactor.h"
|
21
21
|
#include "ace/Signal.h"
|
22
22
|
#include "ace/Sig_Handler.h"
|
23
|
-
#include
|
23
|
+
#include <memory>
|
24
24
|
|
25
25
|
#define RUBY_INVOKE_FUNC RUBY_ALLOC_FUNC
|
26
26
|
|
@@ -61,8 +61,8 @@ public:
|
|
61
61
|
virtual ~R2CSigGuard();
|
62
62
|
|
63
63
|
virtual int handle_signal (int signum,
|
64
|
-
siginfo_t * =
|
65
|
-
ucontext_t * =
|
64
|
+
siginfo_t * = nullptr,
|
65
|
+
ucontext_t * = nullptr);
|
66
66
|
|
67
67
|
bool has_caught_signal () { return this->m_signal_caught; }
|
68
68
|
|
@@ -71,9 +71,9 @@ private:
|
|
71
71
|
{
|
72
72
|
public:
|
73
73
|
Signal(int signum) : m_signum (signum) {}
|
74
|
-
|
74
|
+
~Signal() override = default;
|
75
75
|
|
76
|
-
|
76
|
+
int handle_exception (ACE_HANDLE fd = ACE_INVALID_HANDLE) override;
|
77
77
|
|
78
78
|
private:
|
79
79
|
int inner_handler ();
|
@@ -85,7 +85,7 @@ private:
|
|
85
85
|
|
86
86
|
static VALUE c_signums;
|
87
87
|
static int c_nsig;
|
88
|
-
static ACE_Auto_Ptr<ACE_SIGACTION>
|
88
|
+
static ACE_Auto_Ptr<ACE_SIGACTION> c_sa;
|
89
89
|
|
90
90
|
static void init_ ();
|
91
91
|
|
@@ -103,7 +103,7 @@ public:
|
|
103
103
|
};
|
104
104
|
|
105
105
|
#if defined (WIN32)
|
106
|
-
R2CSigGuard* R2CSigGuard::c_sig_guard =
|
106
|
+
R2CSigGuard* R2CSigGuard::c_sig_guard = nullptr;
|
107
107
|
|
108
108
|
BOOL WINAPI CtrlHandlerRoutine (DWORD /*dwCtrlType*/)
|
109
109
|
{
|
@@ -124,11 +124,8 @@ _orb_free(void *ptr)
|
|
124
124
|
R2TAO_EXPORT VALUE
|
125
125
|
r2tao_ORB_t2r(CORBA::ORB_ptr obj)
|
126
126
|
{
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
_orb = CORBA::ORB::_duplicate(obj);
|
131
|
-
ret = Data_Wrap_Struct(r2tao_cORB, 0, _orb_free, _orb);
|
127
|
+
CORBA::ORB_ptr _orb = CORBA::ORB::_duplicate(obj);
|
128
|
+
VALUE ret = Data_Wrap_Struct(r2tao_cORB, 0, _orb_free, _orb);
|
132
129
|
|
133
130
|
return ret;
|
134
131
|
}
|
@@ -222,11 +219,9 @@ VALUE r2tao_ORB_hash(VALUE self)
|
|
222
219
|
static
|
223
220
|
VALUE r2tao_ORB_eql(VALUE self, VALUE _other)
|
224
221
|
{
|
225
|
-
CORBA::ORB_ptr
|
226
|
-
|
227
|
-
obj = r2tao_ORB_r2t (self);
|
222
|
+
CORBA::ORB_ptr obj = r2tao_ORB_r2t (self);
|
228
223
|
r2tao_check_type (_other, r2tao_cORB);
|
229
|
-
other = r2tao_ORB_r2t (_other);
|
224
|
+
CORBA::ORB_ptr other = r2tao_ORB_r2t (_other);
|
230
225
|
|
231
226
|
if (obj == other)
|
232
227
|
return Qtrue;
|
@@ -242,7 +237,7 @@ VALUE rCORBA_ORB_init(int _argc, VALUE *_argv, VALUE /*klass*/) {
|
|
242
237
|
char **argv;
|
243
238
|
int i;
|
244
239
|
CORBA::ORB_var orb;
|
245
|
-
|
240
|
+
std::unique_ptr<char*> argv_safe;
|
246
241
|
|
247
242
|
rb_scan_args(_argc, _argv, "02", &v0, &v1);
|
248
243
|
|
@@ -306,12 +301,10 @@ VALUE rCORBA_ORB_init(int _argc, VALUE *_argv, VALUE /*klass*/) {
|
|
306
301
|
static
|
307
302
|
VALUE rCORBA_ORB_object_to_string(VALUE self, VALUE _obj)
|
308
303
|
{
|
309
|
-
|
310
|
-
char *str=0;
|
311
|
-
CORBA::ORB_ptr orb;
|
304
|
+
char *str = nullptr;
|
312
305
|
|
313
|
-
orb = r2tao_ORB_r2t (self);
|
314
|
-
obj = r2tao_Object_r2t (_obj);
|
306
|
+
CORBA::ORB_ptr orb = r2tao_ORB_r2t (self);
|
307
|
+
CORBA::Object_ptr obj = r2tao_Object_r2t (_obj);
|
315
308
|
|
316
309
|
if (obj->_is_local ())
|
317
310
|
{
|
@@ -331,10 +324,9 @@ static
|
|
331
324
|
VALUE rCORBA_ORB_string_to_object(VALUE self, VALUE _str)
|
332
325
|
{
|
333
326
|
CORBA::Object_var obj;
|
334
|
-
char *str=
|
335
|
-
CORBA::ORB_ptr orb;
|
327
|
+
char *str = nullptr;
|
336
328
|
|
337
|
-
orb = r2tao_ORB_r2t (self);
|
329
|
+
CORBA::ORB_ptr orb = r2tao_ORB_r2t (self);
|
338
330
|
Check_Type(_str, T_STRING);
|
339
331
|
str = RSTRING_PTR (_str);
|
340
332
|
|
@@ -364,12 +356,8 @@ VALUE rCORBA_ORB_get_current(VALUE /*self*/)
|
|
364
356
|
static
|
365
357
|
VALUE rCORBA_ORB_list_initial_services(VALUE self)
|
366
358
|
{
|
367
|
-
CORBA::ULong i;
|
368
|
-
VALUE ary;
|
369
359
|
CORBA::ORB::ObjectIdList_var list;
|
370
|
-
CORBA::ORB_ptr orb;
|
371
|
-
|
372
|
-
orb = r2tao_ORB_r2t (self);
|
360
|
+
CORBA::ORB_ptr orb = r2tao_ORB_r2t (self);
|
373
361
|
|
374
362
|
R2TAO_TRY
|
375
363
|
{
|
@@ -377,8 +365,8 @@ VALUE rCORBA_ORB_list_initial_services(VALUE self)
|
|
377
365
|
}
|
378
366
|
R2TAO_CATCH;
|
379
367
|
|
380
|
-
ary = rb_ary_new2(list->length ());
|
381
|
-
for (i=0; i<list->length (); i++)
|
368
|
+
VALUE ary = rb_ary_new2(list->length ());
|
369
|
+
for (CORBA::ULong i = 0; i < list->length (); i++)
|
382
370
|
{
|
383
371
|
char const * id = list[i];
|
384
372
|
rb_ary_push (ary, rb_str_new2 (id));
|
@@ -391,13 +379,10 @@ static
|
|
391
379
|
VALUE rCORBA_ORB_resolve_initial_references(VALUE self, VALUE _id)
|
392
380
|
{
|
393
381
|
CORBA::Object_var obj;
|
394
|
-
|
395
|
-
CORBA::ORB_ptr orb;
|
396
|
-
|
397
|
-
orb = r2tao_ORB_r2t (self);
|
382
|
+
CORBA::ORB_ptr orb = r2tao_ORB_r2t (self);
|
398
383
|
|
399
384
|
Check_Type(_id, T_STRING);
|
400
|
-
id = RSTRING_PTR (_id);
|
385
|
+
char *id = RSTRING_PTR (_id);
|
401
386
|
|
402
387
|
R2TAO_TRY
|
403
388
|
{
|
@@ -418,15 +403,11 @@ VALUE rCORBA_ORB_resolve_initial_references(VALUE self, VALUE _id)
|
|
418
403
|
static
|
419
404
|
VALUE rCORBA_ORB_register_initial_reference(VALUE self, VALUE _id, VALUE _obj)
|
420
405
|
{
|
421
|
-
CORBA::
|
422
|
-
char *id;
|
423
|
-
CORBA::ORB_ptr orb;
|
424
|
-
|
425
|
-
orb = r2tao_ORB_r2t (self);
|
406
|
+
CORBA::ORB_ptr orb = r2tao_ORB_r2t (self);
|
426
407
|
|
427
408
|
Check_Type(_id, T_STRING);
|
428
|
-
id = RSTRING_PTR (_id);
|
429
|
-
obj = r2tao_Object_r2t(_obj);
|
409
|
+
char *id = RSTRING_PTR (_id);
|
410
|
+
CORBA::Object_var obj = r2tao_Object_r2t(_obj);
|
430
411
|
|
431
412
|
R2TAO_TRY
|
432
413
|
{
|
@@ -448,16 +429,11 @@ class R2TAO_ORB_BlockedRegionCaller
|
|
448
429
|
{
|
449
430
|
public:
|
450
431
|
R2TAO_ORB_BlockedRegionCaller (CORBA::ORB_ptr orb)
|
451
|
-
: orb_ (orb)
|
452
|
-
timeout_ (0),
|
453
|
-
exception_ (false),
|
454
|
-
corba_ex_ (0) {}
|
432
|
+
: orb_ (orb) {}
|
455
433
|
R2TAO_ORB_BlockedRegionCaller (CORBA::ORB_ptr orb, ACE_Time_Value& to)
|
456
434
|
: orb_ (orb),
|
457
|
-
timeout_ (
|
458
|
-
|
459
|
-
corba_ex_ (0) {}
|
460
|
-
virtual ~R2TAO_ORB_BlockedRegionCaller () R2CORBA_NO_EXCEPT_FALSE;
|
435
|
+
timeout_ (std::addressof(to)) {}
|
436
|
+
virtual ~R2TAO_ORB_BlockedRegionCaller () noexcept(false);
|
461
437
|
|
462
438
|
VALUE call (bool with_unblock=true);
|
463
439
|
|
@@ -472,18 +448,18 @@ protected:
|
|
472
448
|
virtual VALUE do_exec () = 0;
|
473
449
|
|
474
450
|
CORBA::ORB_ptr orb_;
|
475
|
-
ACE_Time_Value* timeout_;
|
476
|
-
bool exception_;
|
477
|
-
CORBA::Exception* corba_ex_;
|
451
|
+
ACE_Time_Value* timeout_ {};
|
452
|
+
bool exception_ {};
|
453
|
+
CORBA::Exception* corba_ex_ {};
|
478
454
|
};
|
479
455
|
|
480
|
-
R2TAO_ORB_BlockedRegionCaller::~R2TAO_ORB_BlockedRegionCaller()
|
456
|
+
R2TAO_ORB_BlockedRegionCaller::~R2TAO_ORB_BlockedRegionCaller() noexcept(false)
|
481
457
|
{
|
482
458
|
if (this->exception_)
|
483
459
|
{
|
484
460
|
if (corba_ex_)
|
485
461
|
{
|
486
|
-
|
462
|
+
std::unique_ptr<CORBA::Exception> e_ptr(corba_ex_);
|
487
463
|
corba_ex_->_raise ();
|
488
464
|
}
|
489
465
|
else
|
@@ -546,10 +522,10 @@ public:
|
|
546
522
|
: R2TAO_ORB_BlockedRegionCaller (orb) {}
|
547
523
|
R2TAO_ORB_BlockedRun (CORBA::ORB_ptr orb, ACE_Time_Value& to)
|
548
524
|
: R2TAO_ORB_BlockedRegionCaller (orb, to) {}
|
549
|
-
|
525
|
+
~R2TAO_ORB_BlockedRun () override = default;
|
550
526
|
|
551
527
|
protected:
|
552
|
-
|
528
|
+
VALUE do_exec () override;
|
553
529
|
};
|
554
530
|
|
555
531
|
VALUE R2TAO_ORB_BlockedRun::do_exec ()
|
@@ -568,16 +544,16 @@ public:
|
|
568
544
|
: R2TAO_ORB_BlockedRegionCaller (orb), sg_(sg) {}
|
569
545
|
R2TAO_ORB_BlockedWorkPending (R2CSigGuard& sg, CORBA::ORB_ptr orb, ACE_Time_Value& to)
|
570
546
|
: R2TAO_ORB_BlockedRegionCaller (orb, to), sg_(sg) {}
|
571
|
-
virtual ~R2TAO_ORB_BlockedWorkPending ()
|
547
|
+
virtual ~R2TAO_ORB_BlockedWorkPending () noexcept(false);
|
572
548
|
|
573
549
|
protected:
|
574
|
-
|
550
|
+
VALUE do_exec () override;
|
575
551
|
|
576
552
|
private:
|
577
553
|
R2CSigGuard& sg_;
|
578
554
|
};
|
579
555
|
|
580
|
-
R2TAO_ORB_BlockedWorkPending::~R2TAO_ORB_BlockedWorkPending()
|
556
|
+
R2TAO_ORB_BlockedWorkPending::~R2TAO_ORB_BlockedWorkPending() noexcept(false)
|
581
557
|
{
|
582
558
|
if (this->exception_)
|
583
559
|
{
|
@@ -585,7 +561,7 @@ R2TAO_ORB_BlockedWorkPending::~R2TAO_ORB_BlockedWorkPending() R2CORBA_NO_EXCEPT_
|
|
585
561
|
try {
|
586
562
|
if (corba_ex_)
|
587
563
|
{
|
588
|
-
|
564
|
+
std::unique_ptr<CORBA::Exception> e_ptr(corba_ex_);
|
589
565
|
corba_ex_->_raise ();
|
590
566
|
}
|
591
567
|
else
|
@@ -623,10 +599,10 @@ public:
|
|
623
599
|
: R2TAO_ORB_BlockedRegionCaller (orb) {}
|
624
600
|
R2TAO_ORB_BlockedPerformWork (CORBA::ORB_ptr orb, ACE_Time_Value& to)
|
625
601
|
: R2TAO_ORB_BlockedRegionCaller (orb, to) {}
|
626
|
-
|
602
|
+
~R2TAO_ORB_BlockedPerformWork () override = default;
|
627
603
|
|
628
604
|
protected:
|
629
|
-
|
605
|
+
VALUE do_exec () override;
|
630
606
|
};
|
631
607
|
|
632
608
|
VALUE R2TAO_ORB_BlockedPerformWork::do_exec ()
|
@@ -641,10 +617,10 @@ VALUE R2TAO_ORB_BlockedPerformWork::do_exec ()
|
|
641
617
|
class R2TAO_ORB_BlockedShutdown : public R2TAO_ORB_BlockedRegionCaller
|
642
618
|
{
|
643
619
|
public:
|
644
|
-
R2TAO_ORB_BlockedShutdown (CORBA::ORB_ptr orb, bool wait=false)
|
620
|
+
R2TAO_ORB_BlockedShutdown (CORBA::ORB_ptr orb, bool wait = false)
|
645
621
|
: R2TAO_ORB_BlockedRegionCaller (orb),
|
646
622
|
wait_ (wait) {}
|
647
|
-
|
623
|
+
~R2TAO_ORB_BlockedShutdown () override = default;
|
648
624
|
|
649
625
|
protected:
|
650
626
|
virtual VALUE do_exec ();
|
@@ -662,7 +638,6 @@ VALUE R2TAO_ORB_BlockedShutdown::do_exec ()
|
|
662
638
|
static
|
663
639
|
VALUE rCORBA_ORB_run(int _argc, VALUE *_argv, VALUE self)
|
664
640
|
{
|
665
|
-
CORBA::ORB_ptr orb;
|
666
641
|
VALUE rtimeout = Qnil;
|
667
642
|
ACE_Time_Value timeout;
|
668
643
|
double tmleft=0.0;
|
@@ -682,7 +657,7 @@ VALUE rCORBA_ORB_run(int _argc, VALUE *_argv, VALUE self)
|
|
682
657
|
// convert to ACE_Time_Value
|
683
658
|
}
|
684
659
|
|
685
|
-
orb = r2tao_ORB_r2t (self);
|
660
|
+
CORBA::ORB_ptr orb = r2tao_ORB_r2t (self);
|
686
661
|
|
687
662
|
R2TAO_TRY
|
688
663
|
{
|
@@ -715,7 +690,6 @@ VALUE rCORBA_ORB_run(int _argc, VALUE *_argv, VALUE self)
|
|
715
690
|
static
|
716
691
|
VALUE rCORBA_ORB_work_pending(int _argc, VALUE *_argv, VALUE self)
|
717
692
|
{
|
718
|
-
CORBA::ORB_ptr orb;
|
719
693
|
VALUE rtimeout = Qnil;
|
720
694
|
ACE_Time_Value timeout;
|
721
695
|
double tmleft=0.0;
|
@@ -735,7 +709,7 @@ VALUE rCORBA_ORB_work_pending(int _argc, VALUE *_argv, VALUE self)
|
|
735
709
|
// convert to ACE_Time_Value
|
736
710
|
}
|
737
711
|
|
738
|
-
orb = r2tao_ORB_r2t (self);
|
712
|
+
CORBA::ORB_ptr orb = r2tao_ORB_r2t (self);
|
739
713
|
|
740
714
|
VALUE _rc = Qfalse;
|
741
715
|
|
@@ -858,8 +832,7 @@ VALUE rCORBA_ORB_shutdown(int _argc, VALUE *_argv, VALUE self)
|
|
858
832
|
static
|
859
833
|
VALUE rCORBA_ORB_destroy(VALUE self)
|
860
834
|
{
|
861
|
-
CORBA::ORB_ptr orb;
|
862
|
-
orb = r2tao_ORB_r2t (self);
|
835
|
+
CORBA::ORB_ptr orb = r2tao_ORB_r2t (self);
|
863
836
|
R2TAO_TRY
|
864
837
|
{
|
865
838
|
orb->destroy ();
|
data/ext/libr2tao/r2tao_ext.h
CHANGED
@@ -12,25 +12,14 @@
|
|
12
12
|
#ifndef __R2TAO_EXT_H
|
13
13
|
#define __R2TAO_EXT_H
|
14
14
|
|
15
|
-
#
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
#define _MSC_VER OLD_MSC_VER
|
24
|
-
#endif
|
25
|
-
|
26
|
-
#include <ace/pre.h>
|
27
|
-
|
28
|
-
#include <ace/config-all.h>
|
29
|
-
|
30
|
-
#include <ace/post.h>
|
31
|
-
|
32
|
-
#if defined (__cplusplus)
|
33
|
-
extern "C" {
|
15
|
+
#include <ace/config-lite.h>
|
16
|
+
#if defined (WIN32) || defined (_MSC_VER) || defined (__MINGW32__)
|
17
|
+
// Ruby ships its own msghdr
|
18
|
+
# undef ACE_LACKS_MSGHDR
|
19
|
+
// Ruby ships its own iovec
|
20
|
+
# undef ACE_LACKS_IOVEC
|
21
|
+
// Resolve conflict between mingw and ruby gettimeofday
|
22
|
+
# define ACE_LACKS_SYS_TIME_H
|
34
23
|
#endif
|
35
24
|
|
36
25
|
#endif
|
data/ext/libr2tao/required.cpp
CHANGED
@@ -17,10 +17,10 @@
|
|
17
17
|
#include "ace/Null_Mutex.h"
|
18
18
|
#include "ace/Singleton.h"
|
19
19
|
#include "ace/TSS_T.h"
|
20
|
-
#include "ace/Auto_Ptr.h"
|
21
20
|
#include "tao/AnyTypeCode/Any.h"
|
22
21
|
#include "tao/DynamicInterface/Unknown_User_Exception.h"
|
23
22
|
#include "tao/debug.h"
|
23
|
+
#include <memory>
|
24
24
|
|
25
25
|
#define RUBY_INVOKE_FUNC RUBY_ALLOC_FUNC
|
26
26
|
|
@@ -113,7 +113,6 @@ private:
|
|
113
113
|
objreg->clear_registry ();
|
114
114
|
}
|
115
115
|
}
|
116
|
-
|
117
116
|
};
|
118
117
|
|
119
118
|
VALUE R2TAO_ObjectRegistry::registry_anchor_ = Qnil;
|
@@ -231,7 +230,7 @@ private:
|
|
231
230
|
~TSSManager ()
|
232
231
|
{
|
233
232
|
delete gvl_indicator_;
|
234
|
-
gvl_indicator_ =
|
233
|
+
gvl_indicator_ = nullptr;
|
235
234
|
}
|
236
235
|
|
237
236
|
static void set_indicator (bool val)
|
@@ -343,10 +342,6 @@ R2TAO_RBFuncall::R2TAO_RBFuncall (const char* fn, bool throw_on_ex)
|
|
343
342
|
{
|
344
343
|
}
|
345
344
|
|
346
|
-
R2TAO_RBFuncall::~R2TAO_RBFuncall ()
|
347
|
-
{
|
348
|
-
}
|
349
|
-
|
350
345
|
VALUE R2TAO_RBFuncall::invoke (VALUE rcvr, VALUE args)
|
351
346
|
{
|
352
347
|
return this->_invoke (FuncArgArray (rcvr, args));
|
@@ -401,7 +396,7 @@ VALUE R2TAO_RBFuncall::_invoke (const FuncArgs& fa)
|
|
401
396
|
_exc->completed (
|
402
397
|
static_cast<CORBA::CompletionStatus> (NUM2ULONG (rb_iv_get (rexc, "@completed"))));
|
403
398
|
|
404
|
-
|
399
|
+
std::unique_ptr<CORBA::SystemException> e_ptr(_exc);
|
405
400
|
_exc->_raise ();
|
406
401
|
}
|
407
402
|
else
|
data/ext/libr2tao/required.h
CHANGED
@@ -12,20 +12,6 @@
|
|
12
12
|
#ifndef __R2TAO_REQUIRED_H
|
13
13
|
#define __R2TAO_REQUIRED_H
|
14
14
|
|
15
|
-
#if defined (WIN32) || defined (_MSC_VER) || defined (__MINGW32__)
|
16
|
-
// prevent inclusion of Ruby Win32 defs which clash with ACE
|
17
|
-
// are only important for Ruby internals
|
18
|
-
#define RUBY_WIN32_H
|
19
|
-
// if we're compiling with MSVC 7.1 this is most probably for
|
20
|
-
// the standard Ruby dist which is built with MSVC 6
|
21
|
-
// fudge the version macro so Ruby doesn't complain
|
22
|
-
#if (_MSC_VER >= 1310) && (_MSC_VER < 1400)
|
23
|
-
#define OLD_MSC_VER 1310
|
24
|
-
#undef _MSC_VER
|
25
|
-
#define _MSC_VER 1200
|
26
|
-
#endif
|
27
|
-
#endif
|
28
|
-
|
29
15
|
#define RUBY_EXTCONF_H "r2tao_ext.h"
|
30
16
|
#include <ruby.h>
|
31
17
|
// remove conflicting macro(s) defined by Ruby
|
@@ -42,6 +28,12 @@
|
|
42
28
|
#if defined (vsnprintf)
|
43
29
|
# undef vsnprintf
|
44
30
|
#endif
|
31
|
+
#if defined (access)
|
32
|
+
# undef access
|
33
|
+
#endif
|
34
|
+
#if defined (memcpy)
|
35
|
+
# undef memcpy
|
36
|
+
#endif
|
45
37
|
|
46
38
|
#undef RUBY_METHOD_FUNC
|
47
39
|
extern "C" {
|
@@ -52,7 +44,6 @@ extern "C" {
|
|
52
44
|
#define RUBY_ALLOC_FUNC(func) ((TfnRbAlloc)func)
|
53
45
|
|
54
46
|
#include "r2tao_export.h"
|
55
|
-
#include <tao/Version.h>
|
56
47
|
|
57
48
|
#if defined (HAVE_NATIVETHREAD)
|
58
49
|
# define R2TAO_THREAD_SAFE
|
@@ -79,20 +70,20 @@ class R2TAO_EXPORT R2TAO_RBFuncall
|
|
79
70
|
public:
|
80
71
|
R2TAO_RBFuncall (ID fnid, bool throw_on_ex=true);
|
81
72
|
R2TAO_RBFuncall (const char* fn, bool throw_on_ex=true);
|
82
|
-
~R2TAO_RBFuncall ();
|
73
|
+
~R2TAO_RBFuncall () = default;
|
83
74
|
|
84
75
|
VALUE invoke (VALUE rcvr, VALUE args);
|
85
76
|
VALUE invoke (VALUE rcvr, int argc, VALUE *args);
|
86
77
|
VALUE invoke (VALUE rcvr);
|
87
78
|
|
88
|
-
bool has_caught_exception () { return this->ex_caught_; }
|
79
|
+
bool has_caught_exception () const { return this->ex_caught_; }
|
89
80
|
|
90
|
-
ID id () { return this->fn_id_; }
|
81
|
+
ID id () const { return this->fn_id_; }
|
91
82
|
|
92
83
|
protected:
|
93
84
|
struct FuncArgs
|
94
85
|
{
|
95
|
-
virtual ~FuncArgs ()
|
86
|
+
virtual ~FuncArgs () = default;
|
96
87
|
virtual VALUE rb_invoke (ID fnid) const = 0;
|
97
88
|
};
|
98
89
|
|
@@ -102,9 +93,9 @@ protected:
|
|
102
93
|
{
|
103
94
|
FuncArgArray (VALUE rcvr, VALUE args)
|
104
95
|
: receiver_ (rcvr), args_ (args) {}
|
105
|
-
|
96
|
+
~FuncArgArray () override = default;
|
106
97
|
|
107
|
-
|
98
|
+
VALUE rb_invoke (ID fnid) const override;
|
108
99
|
|
109
100
|
VALUE receiver_;
|
110
101
|
VALUE args_;
|
@@ -114,12 +105,12 @@ protected:
|
|
114
105
|
{
|
115
106
|
FuncArgList (VALUE rcvr, int argc, VALUE* args)
|
116
107
|
: receiver_ (rcvr), argc_ (argc), args_ (args) {}
|
117
|
-
|
108
|
+
~FuncArgList () override = default;
|
118
109
|
|
119
|
-
|
110
|
+
VALUE rb_invoke (ID fnid) const override;
|
120
111
|
|
121
112
|
VALUE receiver_;
|
122
|
-
int argc_;
|
113
|
+
int const argc_;
|
123
114
|
VALUE* args_;
|
124
115
|
};
|
125
116
|
|
@@ -137,16 +128,9 @@ protected:
|
|
137
128
|
static VALUE invoke_helper (VALUE arg);
|
138
129
|
|
139
130
|
private:
|
140
|
-
ID
|
141
|
-
bool
|
142
|
-
bool
|
131
|
+
ID fn_id_;
|
132
|
+
bool const throw_on_ex_;
|
133
|
+
bool ex_caught_;
|
143
134
|
};
|
144
135
|
|
145
|
-
#if defined (ACE_HAS_CPP11)
|
146
|
-
# define R2CORBA_NO_EXCEPT_FALSE noexcept(false)
|
147
|
-
#else
|
148
|
-
# define R2CORBA_NO_EXCEPT_FALSE
|
149
|
-
#endif /* ACE_HAS_CPP11 */
|
150
|
-
|
151
|
-
|
152
136
|
#endif
|