![](/img/trans.png)
[英]What's the use of `offset` in the version of `Atomic::cmpxchg` in Hotspot?
[英]atomic append on a file descriptor, but at what offset?
在unistd.h
使用带有O_APPEND标志的open()会将原子写入始终写入文件的末尾...
这很好,但是如果我需要知道它原子地附加到文件的偏移量怎么办?
我意识到O_APPEND经常被用于日志文件,但我实际上想知道它在原子上附加的文件中的偏移量。
我没有看到任何明显的方法来做到这一点..? 有人知道吗?
谢谢
要获取文件描述符中的当前位置,请使用偏移0
lseek()
和SEEK_CUR
。
int fd = open(...);
if (fd) {
off_t positionWhereAppendingBegins = lseek(fd, 0, SEEK_CUR);
write(...);
close(fd);
}
请注意,如果以其他方式打开描述符,即通过socket()
,这将不会给您可靠的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.