added moo_seterrwithsyserro()let the compier to remove the leading underscores when resolving a primitive function in a separate module

This commit is contained in:
hyunghwan.chung
2017-12-17 15:20:58 +00:00
parent cf88ac40ec
commit e63596688a
8 changed files with 65 additions and 65 deletions

View File

@ -4,10 +4,9 @@ class Socket(Object) from 'sck'
{
var handle := -1.
method(#primitive) _open(domain, type, proto).
method(#primitive) open(domain, type, proto).
method(#primitive) _close.
method(#primitive) _connect(a,b,c).
method(#primitive) connect(a,b,c).
}
(* TODO: generate these domain and type from the C header *)
@ -28,17 +27,9 @@ extend Socket
method(#class) new { self messageProhibited: #new }
method(#class) new: size { self messageProhibited: #new: }
method(#class) _domain: domain _type: type
{
^super new _open(domain, type, 0).
}
method(#class) domain: domain type: type
{
| s |
s := super new _open(domain, type, 0).
if (s isError) { Exception signal: 'Cannot open socket' }.
^s.
^super new open(domain, type, 0).
}
method close
@ -46,7 +37,7 @@ extend Socket
if (self.handle >= 0)
{
## this primitive method may return failure.
## but ignore it in this normal method.
## but ignore it here.
self _close.
self.handle := -1.
}
@ -77,10 +68,7 @@ extend Socket
System addAsyncSemaphore: s1.
System addAsyncSemaphore: s2.
if (self _connect(1, 2, 3) isError)
{
Exception signal: 'Cannot connect to 1,2,3'.
}.
self connect(1, 2, 3).
}
method asyncRead: readBlock