Skip to content

Commit

Permalink
Merge pull request docker#195 from cyphar/fix-c-formatting-epoll-arm64
Browse files Browse the repository at this point in the history
archutils: aarch64: fix build and improve C formatting
  • Loading branch information
crosbymichael committed Apr 18, 2016
2 parents 2239d4e + 7c572f1 commit 4e54940
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 21 deletions.
3 changes: 2 additions & 1 deletion archutils/epoll.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//+build !arm64,linux
// +build linux,!aarch64

package archutils

import (
Expand Down
40 changes: 20 additions & 20 deletions archutils/epoll_aarch64.go
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
// +build arm64,linux
// +build linux,aarch64

package archutils

// #include <sys/epoll.h>
/*
int EpollCreate1(int flag) {
return epoll_create1(flag);
return epoll_create1(flag);
}
int EpollCtl(int efd, int op, int sfd, int Events, int Fd) {
struct epoll_event event;
event.events = Events;
event.data.fd = Fd;
int EpollCtl(int efd, int op,int sfd, int events, int fd) {
struct epoll_event event;
event.events = events;
event.data.fd = fd;
return epoll_ctl(efd, op, sfd, &event);
return epoll_ctl(efd, op, sfd, &event);
}
typedef struct Event{
uint32_t events;
int fd;
struct event_t {
uint32_t events;
int fd;
};
struct epoll_event events[128];
int run_epoll_wait(int fd, struct Event *event) {
int n, i;
n = epoll_wait(fd, events, 128, -1);
for (i = 0; i < n; i++) {
event[i].events = events[i].events;
event[i].fd = events[i].data.fd;
}
return n;
int run_epoll_wait(int fd, struct event_t *event) {
int n, i;
n = epoll_wait(fd, events, 128, -1);
for (i = 0; i < n; i++) {
event[i].events = events[i].events;
event[i].fd = events[i].data.fd;
}
return n;
}
*/
import "C"
Expand Down Expand Up @@ -57,8 +57,8 @@ func EpollCtl(epfd int, op int, fd int, event *syscall.EpollEvent) error {
}

func EpollWait(epfd int, events []syscall.EpollEvent, msec int) (int, error) {
var c_events [128]C.struct_Event
n := int(C.run_epoll_wait(C.int(epfd), (*C.struct_Event)(unsafe.Pointer(&c_events))))
var c_events [128]C.struct_event_t
n := int(C.run_epoll_wait(C.int(epfd), (*C.struct_event_t)(unsafe.Pointer(&c_events))))
if n < 0 {
return int(n), fmt.Errorf("Failed to wait epoll")
}
Expand Down

0 comments on commit 4e54940

Please sign in to comment.