Skip to content

Commit fd6faf9

Browse files
committed
Fix Ops.bindsock to test instanceof IIOBindable instead of ServerSocketHandle.
1 parent 31884dd commit fd6faf9

File tree

1 file changed

+12
-11
lines changed
  • src/vm/jvm/runtime/org/perl6/nqp/runtime

1 file changed

+12
-11
lines changed

src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.math.BigDecimal;
1111
import java.math.BigInteger;
1212
import java.math.RoundingMode;
13+
import java.net.InetAddress;
1314
import java.nio.ByteBuffer;
1415
import java.nio.charset.Charset;
1516
import java.nio.file.DirectoryStream;
@@ -34,12 +35,12 @@
3435
import java.util.TimerTask;
3536
import java.util.concurrent.LinkedBlockingQueue;
3637
import java.util.concurrent.TimeUnit;
37-
import java.net.InetAddress;
3838

3939
import org.perl6.nqp.io.AsyncFileHandle;
4040
import org.perl6.nqp.io.FileHandle;
4141
import org.perl6.nqp.io.IIOAsyncReadable;
4242
import org.perl6.nqp.io.IIOAsyncWritable;
43+
import org.perl6.nqp.io.IIOBindable;
4344
import org.perl6.nqp.io.IIOClosable;
4445
import org.perl6.nqp.io.IIOEncodable;
4546
import org.perl6.nqp.io.IIOInteractive;
@@ -66,6 +67,9 @@
6667
import org.perl6.nqp.sixmodel.StorageSpec;
6768
import org.perl6.nqp.sixmodel.TypeObject;
6869
import org.perl6.nqp.sixmodel.reprs.CallCaptureInstance;
70+
import org.perl6.nqp.sixmodel.reprs.ConcBlockingQueueInstance;
71+
import org.perl6.nqp.sixmodel.reprs.ConditionVariable;
72+
import org.perl6.nqp.sixmodel.reprs.ConditionVariableInstance;
6973
import org.perl6.nqp.sixmodel.reprs.ContextRef;
7074
import org.perl6.nqp.sixmodel.reprs.ContextRefInstance;
7175
import org.perl6.nqp.sixmodel.reprs.IOHandleInstance;
@@ -76,25 +80,22 @@
7680
import org.perl6.nqp.sixmodel.reprs.NFAInstance;
7781
import org.perl6.nqp.sixmodel.reprs.NFAStateInfo;
7882
import org.perl6.nqp.sixmodel.reprs.P6bigintInstance;
83+
import org.perl6.nqp.sixmodel.reprs.ReentrantMutexInstance;
7984
import org.perl6.nqp.sixmodel.reprs.SCRefInstance;
85+
import org.perl6.nqp.sixmodel.reprs.SemaphoreInstance;
8086
import org.perl6.nqp.sixmodel.reprs.VMArray;
8187
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance;
8288
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance_i16;
83-
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance_u16;
8489
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance_i32;
85-
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance_u32;
8690
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance_i8;
91+
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance_u16;
92+
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance_u32;
8793
import org.perl6.nqp.sixmodel.reprs.VMArrayInstance_u8;
8894
import org.perl6.nqp.sixmodel.reprs.VMExceptionInstance;
8995
import org.perl6.nqp.sixmodel.reprs.VMHash;
9096
import org.perl6.nqp.sixmodel.reprs.VMHashInstance;
9197
import org.perl6.nqp.sixmodel.reprs.VMIterInstance;
9298
import org.perl6.nqp.sixmodel.reprs.VMThreadInstance;
93-
import org.perl6.nqp.sixmodel.reprs.ReentrantMutexInstance;
94-
import org.perl6.nqp.sixmodel.reprs.SemaphoreInstance;
95-
import org.perl6.nqp.sixmodel.reprs.ConcBlockingQueueInstance;
96-
import org.perl6.nqp.sixmodel.reprs.ConditionVariable;
97-
import org.perl6.nqp.sixmodel.reprs.ConditionVariableInstance;
9899

99100
/**
100101
* Contains complex operations that are more involved that the simple ops that the
@@ -323,10 +324,10 @@ public static SixModelObject connect(SixModelObject obj, String host, long port,
323324

324325
public static SixModelObject bindsock(SixModelObject obj, String host, long port, ThreadContext tc) {
325326
IOHandleInstance h = (IOHandleInstance)obj;
326-
if (h.handle instanceof ServerSocketHandle) {
327-
((ServerSocketHandle)h.handle).bind(tc, host, (int) port);
327+
if (h.handle instanceof IIOBindable) {
328+
((IIOBindable)h.handle).bind(tc, host, (int) port);
328329
} else {
329-
ExceptionHandling.dieInternal(tc,
330+
ExceptionHandling.dieInternal(tc,
330331
"This handle does not support bind");
331332
}
332333
return obj;

0 commit comments

Comments
 (0)