Lines Matching full:pc
56 static FdSync *allocsync(ThreadState *thr, uptr pc) { in allocsync() argument
57 FdSync *s = (FdSync*)user_alloc_internal(thr, pc, sizeof(FdSync), in allocsync()
69 static void unref(ThreadState *thr, uptr pc, FdSync *s) { in unref() argument
75 user_free(thr, pc, s, false); in unref()
80 static FdDesc *fddesc(ThreadState *thr, uptr pc, int fd) { in fddesc() argument
88 void *p = user_alloc_internal(thr, pc, size, kDefaultAlignment, false); in fddesc()
94 user_free(thr, pc, p, false); in fddesc()
101 static void init(ThreadState *thr, uptr pc, int fd, FdSync *s, in init() argument
103 FdDesc *d = fddesc(thr, pc, fd); in init()
107 unref(thr, pc, d->sync); in init()
110 unref(thr, pc, in init()
115 unref(thr, pc, s); in init()
119 unref(thr, pc, s); in init()
123 d->creation_stack = CurrentStackId(thr, pc); in init()
132 MemoryRangeImitateWrite(thr, pc, (uptr)d, 8); in init()
135 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead | kAccessSlotLocked); in init()
145 void FdOnFork(ThreadState *thr, uptr pc) { in FdOnFork() argument
155 MemoryResetRange(thr, pc, (uptr)d, 8); in FdOnFork()
178 void FdAcquire(ThreadState *thr, uptr pc, int fd) { in FdAcquire() argument
181 FdDesc *d = fddesc(thr, pc, fd); in FdAcquire()
184 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdAcquire()
186 Acquire(thr, pc, (uptr)s); in FdAcquire()
189 void FdRelease(ThreadState *thr, uptr pc, int fd) { in FdRelease() argument
192 FdDesc *d = fddesc(thr, pc, fd); in FdRelease()
195 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdRelease()
197 Release(thr, pc, (uptr)s); in FdRelease()
199 Release(thr, pc, aux_sync); in FdRelease()
202 void FdAccess(ThreadState *thr, uptr pc, int fd) { in FdAccess() argument
206 FdDesc *d = fddesc(thr, pc, fd); in FdAccess()
207 MemoryAccess(thr, pc, (uptr)d, 8, kAccessRead); in FdAccess()
210 void FdClose(ThreadState *thr, uptr pc, int fd, bool write) { in FdClose() argument
214 FdDesc *d = fddesc(thr, pc, fd); in FdClose()
222 MemoryAccess(thr, pc, (uptr)d, 8, in FdClose()
234 MemoryAccess(thr, pc, (uptr)d, 8, in FdClose()
240 MemoryResetRange(thr, pc, (uptr)d, 8); in FdClose()
242 unref(thr, pc, d->sync); in FdClose()
244 unref(thr, pc, in FdClose()
250 d->creation_stack = CurrentStackId(thr, pc); in FdClose()
253 void FdFileCreate(ThreadState *thr, uptr pc, int fd) { in FdFileCreate() argument
257 init(thr, pc, fd, &fdctx.filesync); in FdFileCreate()
260 void FdDup(ThreadState *thr, uptr pc, int oldfd, int newfd, bool write) { in FdDup() argument
265 FdDesc *od = fddesc(thr, pc, oldfd); in FdDup()
266 MemoryAccess(thr, pc, (uptr)od, 8, kAccessRead); in FdDup()
267 FdClose(thr, pc, newfd, write); in FdDup()
268 init(thr, pc, newfd, ref(od->sync), write); in FdDup()
271 void FdPipeCreate(ThreadState *thr, uptr pc, int rfd, int wfd) { in FdPipeCreate() argument
273 FdSync *s = allocsync(thr, pc); in FdPipeCreate()
274 init(thr, pc, rfd, ref(s)); in FdPipeCreate()
275 init(thr, pc, wfd, ref(s)); in FdPipeCreate()
276 unref(thr, pc, s); in FdPipeCreate()
279 void FdEventCreate(ThreadState *thr, uptr pc, int fd) { in FdEventCreate() argument
283 init(thr, pc, fd, allocsync(thr, pc)); in FdEventCreate()
286 void FdSignalCreate(ThreadState *thr, uptr pc, int fd) { in FdSignalCreate() argument
290 init(thr, pc, fd, 0); in FdSignalCreate()
293 void FdInotifyCreate(ThreadState *thr, uptr pc, int fd) { in FdInotifyCreate() argument
297 init(thr, pc, fd, 0); in FdInotifyCreate()
300 void FdPollCreate(ThreadState *thr, uptr pc, int fd) { in FdPollCreate() argument
304 init(thr, pc, fd, allocsync(thr, pc)); in FdPollCreate()
307 void FdPollAdd(ThreadState *thr, uptr pc, int epfd, int fd) { in FdPollAdd() argument
311 FdDesc *d = fddesc(thr, pc, fd); in FdPollAdd()
321 FdDesc *epd = fddesc(thr, pc, epfd); in FdPollAdd()
331 void FdSocketCreate(ThreadState *thr, uptr pc, int fd) { in FdSocketCreate() argument
336 init(thr, pc, fd, &fdctx.socksync); in FdSocketCreate()
339 void FdSocketAccept(ThreadState *thr, uptr pc, int fd, int newfd) { in FdSocketAccept() argument
344 Acquire(thr, pc, (uptr)&fdctx.connectsync); in FdSocketAccept()
345 init(thr, pc, newfd, &fdctx.socksync); in FdSocketAccept()
348 void FdSocketConnecting(ThreadState *thr, uptr pc, int fd) { in FdSocketConnecting() argument
353 Release(thr, pc, (uptr)&fdctx.connectsync); in FdSocketConnecting()
356 void FdSocketConnect(ThreadState *thr, uptr pc, int fd) { in FdSocketConnect() argument
360 init(thr, pc, fd, &fdctx.socksync); in FdSocketConnect()