File tree Expand file tree Collapse file tree 2 files changed +3
-13
lines changed
java-does-usb/src/main/java/net/codecrete/usb/linux Expand file tree Collapse file tree 2 files changed +3
-13
lines changed Original file line number Diff line number Diff line change 1515import java .lang .foreign .Linker ;
1616import java .lang .foreign .MemoryLayout ;
1717import java .lang .foreign .MemorySegment ;
18- import java .lang .foreign .SequenceLayout ;
1918import java .lang .invoke .MethodHandle ;
2019import java .lang .invoke .VarHandle ;
2120
@@ -51,18 +50,8 @@ private EPoll() {}
5150 JAVA_INT_UNALIGNED .withName ("events" ),
5251 DATA$LAYOUT .withName ("data" )).withName ("epoll_event" );
5352
54- // Memory layout for an array of epoll_event structs
55- private static final SequenceLayout EVENT_ARRAY$LAYOUT = MemoryLayout .sequenceLayout (1 , EVENT$LAYOUT );
56-
57- // varhandle to access the "fd" field in an array of epoll_event structs
58- static final VarHandle EVENT_ARRAY_DATA_FD$VH = EVENT_ARRAY$LAYOUT .varHandle (
59- MemoryLayout .PathElement .sequenceElement (),
60- MemoryLayout .PathElement .groupElement ("data" ),
61- MemoryLayout .PathElement .groupElement ("fd" )
62- );
63-
6453 // varhandle to access the "fd" field in an epoll_event struct
65- private static final VarHandle EVENT_DATA_FD$VH = EVENT$LAYOUT .varHandle (
54+ static final VarHandle EVENT_DATA_FD$VH = EVENT$LAYOUT .varHandle (
6655 MemoryLayout .PathElement .groupElement ("data" ),
6756 MemoryLayout .PathElement .groupElement ("fd" )
6857 );
Original file line number Diff line number Diff line change @@ -98,7 +98,8 @@ private void asyncCompletionTask() {
9898
9999 // for all ready file descriptors, reap URBs
100100 for (int i = 0 ; i < res ; i ++) {
101- var fd = (int ) EPoll .EVENT_ARRAY_DATA_FD$VH .get (events , 0 , i );
101+ var event = events .asSlice (i * EPoll .EVENT$LAYOUT .byteSize (), EPoll .EVENT$LAYOUT );
102+ var fd = (int ) EPoll .EVENT_DATA_FD$VH .get (event , 0L );
102103 reapURBs (fd , urbPointerHolder , errorState );
103104 }
104105 }
You can’t perform that action at this time.
0 commit comments