Changes in / [4385e8b:b1ac7dd]
- Location:
- libcfa
- Files:
-
- 5 edited
-
configure (modified) (1 diff)
-
configure.ac (modified) (1 diff)
-
prelude/defines.hfa.in (modified) (1 diff)
-
src/Makefile.in (modified) (2 diffs)
-
src/concurrency/io.cfa (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/configure
r4385e8b rb1ac7dd 16962 16962 done 16963 16963 16964 for ac_func in preadv2 pwritev216965 do :16966 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`16967 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"16968 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :16969 cat >>confdefs.h <<_ACEOF16970 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 116971 _ACEOF16972 16973 fi16974 done16975 16976 16964 16977 16965 ac_config_files="$ac_config_files Makefile src/Makefile prelude/Makefile" -
libcfa/configure.ac
r4385e8b rb1ac7dd 119 119 120 120 AC_CHECK_HEADERS([linux/io_uring.h]) 121 AC_CHECK_FUNCS([preadv2 pwritev2])122 121 123 122 AC_CONFIG_FILES([ -
libcfa/prelude/defines.hfa.in
r4385e8b rb1ac7dd 16 16 #undef HAVE_LINUX_IO_URING_H 17 17 18 #undef HAVE_PREADV219 #undef HAVE_PWRITEV220 21 18 #undef __CFA_NO_STATISTICS__ -
libcfa/src/Makefile.in
r4385e8b rb1ac7dd 241 241 containers/vector.hfa bitmanip.hfa math.hfa gmp.hfa time_t.hfa \ 242 242 bits/align.hfa bits/containers.hfa bits/defs.hfa \ 243 bits/debug.hfa bits/locks.hfa con tainers/list.hfa \244 concurrency/ coroutine.hfa concurrency/thread.hfa \245 concurrency/ kernel.hfa concurrency/monitor.hfa \246 concurrency/ mutex.hfa concurrency/invoke.h243 bits/debug.hfa bits/locks.hfa concurrency/coroutine.hfa \ 244 concurrency/thread.hfa concurrency/kernel.hfa \ 245 concurrency/monitor.hfa concurrency/mutex.hfa \ 246 concurrency/invoke.h 247 247 HEADERS = $(nobase_cfa_include_HEADERS) 248 248 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) … … 463 463 464 464 #---------------------------------------------------------------------------------------------------------------- 465 @BUILDLIB_TRUE@headers_nosrc = bitmanip.hfa math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa containers/list.hfa465 @BUILDLIB_TRUE@headers_nosrc = bitmanip.hfa math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa 466 466 @BUILDLIB_FALSE@headers = 467 467 @BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ -
libcfa/src/concurrency/io.cfa
r4385e8b rb1ac7dd 724 724 #include <sys/socket.h> 725 725 #include <sys/syscall.h> 726 727 #if defined(HAVE_PREADV2)728 726 struct iovec; 729 727 extern ssize_t preadv2 (int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags); 730 #endif731 #if defined(HAVE_PWRITEV2)732 struct iovec;733 728 extern ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags); 734 #endif735 729 736 730 extern int fsync(int fd); … … 758 752 //----------------------------------------------------------------------------- 759 753 // Asynchronous operations 760 #if defined(HAVE_PREADV2) 761 ssize_t cfa_preadv2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags) { 762 #if !defined(HAVE_LINUX_IO_URING_H) || !defined(IORING_OP_READV) 763 return preadv2(fd, iov, iovcnt, offset, flags); 764 #else 765 __submit_prelude 766 767 (*sqe){ IORING_OP_READV, fd, iov, iovcnt, offset }; 768 769 __submit_wait 770 #endif 771 } 772 #endif 773 774 #if defined(HAVE_PWRITEV2) 775 ssize_t cfa_pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags) { 776 #if !defined(HAVE_LINUX_IO_URING_H) || !defined(IORING_OP_WRITEV) 777 return pwritev2(fd, iov, iovcnt, offset, flags); 778 #else 779 __submit_prelude 780 781 (*sqe){ IORING_OP_WRITEV, fd, iov, iovcnt, offset }; 782 783 __submit_wait 784 #endif 785 } 786 #endif 754 ssize_t cfa_preadv2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags) { 755 #if !defined(HAVE_LINUX_IO_URING_H) || !defined(IORING_OP_READV) 756 return preadv2(fd, iov, iovcnt, offset, flags); 757 #else 758 __submit_prelude 759 760 (*sqe){ IORING_OP_READV, fd, iov, iovcnt, offset }; 761 762 __submit_wait 763 #endif 764 } 765 766 ssize_t cfa_pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, int flags) { 767 #if !defined(HAVE_LINUX_IO_URING_H) || !defined(IORING_OP_WRITEV) 768 return pwritev2(fd, iov, iovcnt, offset, flags); 769 #else 770 __submit_prelude 771 772 (*sqe){ IORING_OP_WRITEV, fd, iov, iovcnt, offset }; 773 774 __submit_wait 775 #endif 776 } 787 777 788 778 int cfa_fsync(int fd) { … … 1012 1002 return IS_DEFINED(IORING_OP_READV); 1013 1003 1014 #if defined(HAVE_PREADV2) 1015 if( /*func == (fptr_t)pwritev2 || */ 1016 func == (fptr_t)cfa_pwritev2 ) 1017 #define _CFA_IO_FEATURE_IORING_OP_WRITEV , 1018 return IS_DEFINED(IORING_OP_WRITEV); 1019 #endif 1020 1021 #if defined(HAVE_PWRITEV2) 1022 if( /*func == (fptr_t)fsync || */ 1023 func == (fptr_t)cfa_fsync ) 1024 #define _CFA_IO_FEATURE_IORING_OP_FSYNC , 1025 return IS_DEFINED(IORING_OP_FSYNC); 1026 #endif 1004 if( /*func == (fptr_t)pwritev2 || */ 1005 func == (fptr_t)cfa_pwritev2 ) 1006 #define _CFA_IO_FEATURE_IORING_OP_WRITEV , 1007 return IS_DEFINED(IORING_OP_WRITEV); 1008 1009 if( /*func == (fptr_t)fsync || */ 1010 func == (fptr_t)cfa_fsync ) 1011 #define _CFA_IO_FEATURE_IORING_OP_FSYNC , 1012 return IS_DEFINED(IORING_OP_FSYNC); 1027 1013 1028 1014 if( /*func == (fptr_t)ync_file_range || */
Note:
See TracChangeset
for help on using the changeset viewer.