@@ -59,6 +59,15 @@ using namespace ::mozart::builtins;
59
59
class ModOS : public Module {
60
60
private:
61
61
static const size_t MaxBufferSize = 1024 *1024 ;
62
+
63
+ static BoostEnvironment& env (VM vm) {
64
+ return BoostEnvironment::forVM (vm);
65
+ }
66
+
67
+ static VMIdentifier ident (VM vm) {
68
+ return BoostVM::forVM (vm).identifier ;
69
+ }
70
+
62
71
public:
63
72
ModOS (): Module(" OS" ) {}
64
73
@@ -483,7 +492,7 @@ public:
483
492
endpoint = tcp::endpoint (tcp::v6 (), intPort);
484
493
485
494
try {
486
- auto acceptor = TCPAcceptor::create (vm , endpoint);
495
+ auto acceptor = TCPAcceptor::create (env (vm), ident (vm) , endpoint);
487
496
result = build (vm, acceptor);
488
497
} catch (const boost::system::system_error& error) {
489
498
raiseOSError (vm, " tcpAcceptorCreate" , error);
@@ -501,7 +510,7 @@ public:
501
510
auto connectionNode =
502
511
BoostVM::forVM (vm).createAsyncIOFeedbackNode (result);
503
512
504
- tcpAcceptor->startAsyncAccept (TCPConnection::create (vm), connectionNode);
513
+ tcpAcceptor->startAsyncAccept (connectionNode);
505
514
}
506
515
};
507
516
@@ -544,7 +553,7 @@ public:
544
553
ozVSGet (vm, host, hostBufSize, strHost);
545
554
ozVSGet (vm, service, serviceBufSize, strService);
546
555
547
- auto tcpConnection = TCPConnection::create (vm );
556
+ auto tcpConnection = TCPConnection::create (env (vm), ident (vm) );
548
557
549
558
auto statusNode =
550
559
BoostVM::forVM (vm).createAsyncIOFeedbackNode (status);
@@ -1004,7 +1013,7 @@ public:
1004
1013
1005
1014
#else /* !MOZART_WINDOWS */
1006
1015
1007
- auto pipeConnection = PipeConnection::create (vm );
1016
+ auto pipeConnection = PipeConnection::create (env (vm), ident (vm) );
1008
1017
1009
1018
// Build the Oz value now so that it is registered for GC
1010
1019
auto ozPipe = build (vm, pipeConnection);
0 commit comments