linux_futex.c (e0d3ea8c655d56fd364dba6d91dec8d3e443cb80) | linux_futex.c (5dd1d097f8e4d1a4c6df13f9ccae296792eac064) |
---|---|
1/* $NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $ */ 2 3/*- 4 * Copyright (c) 2005 Emmanuel Dreyfus, all rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 922 unchanged lines hidden (view full) --- 931 if (f2 != NULL) 932 futex_put(f2, NULL); 933 futex_put(f, NULL); 934 td->td_retval[0] = ret; 935 break; 936 937 case LINUX_FUTEX_LOCK_PI: 938 /* not yet implemented */ | 1/* $NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $ */ 2 3/*- 4 * Copyright (c) 2005 Emmanuel Dreyfus, all rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 922 unchanged lines hidden (view full) --- 931 if (f2 != NULL) 932 futex_put(f2, NULL); 933 futex_put(f, NULL); 934 td->td_retval[0] = ret; 935 break; 936 937 case LINUX_FUTEX_LOCK_PI: 938 /* not yet implemented */ |
939 linux_msg(td, 940 "linux_sys_futex: " 941 "op LINUX_FUTEX_LOCK_PI not implemented\n"); 942 LIN_SDT_PROBE0(futex, linux_sys_futex, unimplemented_lock_pi); | 939 pem = pem_find(td->td_proc); 940 if ((pem->flags & LINUX_XUNSUP_FUTEXPIOP) == 0) { 941 linux_msg(td, 942 "linux_sys_futex: " 943 "unsupported futex_pi op\n"); 944 pem->flags |= LINUX_XUNSUP_FUTEXPIOP; 945 LIN_SDT_PROBE0(futex, linux_sys_futex, 946 unimplemented_lock_pi); 947 } |
943 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 944 return (ENOSYS); 945 946 case LINUX_FUTEX_UNLOCK_PI: 947 /* not yet implemented */ | 948 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 949 return (ENOSYS); 950 951 case LINUX_FUTEX_UNLOCK_PI: 952 /* not yet implemented */ |
948 linux_msg(td, 949 "linux_sys_futex: " 950 "op LINUX_FUTEX_UNLOCK_PI not implemented\n"); 951 LIN_SDT_PROBE0(futex, linux_sys_futex, unimplemented_unlock_pi); | 953 pem = pem_find(td->td_proc); 954 if ((pem->flags & LINUX_XUNSUP_FUTEXPIOP) == 0) { 955 linux_msg(td, 956 "linux_sys_futex: " 957 "unsupported futex_pi op\n"); 958 pem->flags |= LINUX_XUNSUP_FUTEXPIOP; 959 LIN_SDT_PROBE0(futex, linux_sys_futex, 960 unimplemented_unlock_pi); 961 } |
952 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 953 return (ENOSYS); 954 955 case LINUX_FUTEX_TRYLOCK_PI: 956 /* not yet implemented */ | 962 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 963 return (ENOSYS); 964 965 case LINUX_FUTEX_TRYLOCK_PI: 966 /* not yet implemented */ |
957 linux_msg(td, 958 "linux_sys_futex: " 959 "op LINUX_FUTEX_TRYLOCK_PI not implemented\n"); 960 LIN_SDT_PROBE0(futex, linux_sys_futex, 961 unimplemented_trylock_pi); | 967 pem = pem_find(td->td_proc); 968 if ((pem->flags & LINUX_XUNSUP_FUTEXPIOP) == 0) { 969 linux_msg(td, 970 "linux_sys_futex: " 971 "unsupported futex_pi op\n"); 972 pem->flags |= LINUX_XUNSUP_FUTEXPIOP; 973 LIN_SDT_PROBE0(futex, linux_sys_futex, 974 unimplemented_trylock_pi); 975 } |
962 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 963 return (ENOSYS); 964 965 case LINUX_FUTEX_REQUEUE: 966 967 /* 968 * Glibc does not use this operation since version 2.3.3, 969 * as it is racy and replaced by FUTEX_CMP_REQUEUE operation. --- 10 unchanged lines hidden (view full) --- 980 deprecated_requeue); 981 } 982 983 LIN_SDT_PROBE1(futex, linux_sys_futex, return, EINVAL); 984 return (EINVAL); 985 986 case LINUX_FUTEX_WAIT_REQUEUE_PI: 987 /* not yet implemented */ | 976 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 977 return (ENOSYS); 978 979 case LINUX_FUTEX_REQUEUE: 980 981 /* 982 * Glibc does not use this operation since version 2.3.3, 983 * as it is racy and replaced by FUTEX_CMP_REQUEUE operation. --- 10 unchanged lines hidden (view full) --- 994 deprecated_requeue); 995 } 996 997 LIN_SDT_PROBE1(futex, linux_sys_futex, return, EINVAL); 998 return (EINVAL); 999 1000 case LINUX_FUTEX_WAIT_REQUEUE_PI: 1001 /* not yet implemented */ |
988 linux_msg(td, 989 "linux_sys_futex: " 990 "op FUTEX_WAIT_REQUEUE_PI not implemented\n"); 991 LIN_SDT_PROBE0(futex, linux_sys_futex, 992 unimplemented_wait_requeue_pi); | 1002 pem = pem_find(td->td_proc); 1003 if ((pem->flags & LINUX_XUNSUP_FUTEXPIOP) == 0) { 1004 linux_msg(td, 1005 "linux_sys_futex: " 1006 "unsupported futex_pi op\n"); 1007 pem->flags |= LINUX_XUNSUP_FUTEXPIOP; 1008 LIN_SDT_PROBE0(futex, linux_sys_futex, 1009 unimplemented_wait_requeue_pi); 1010 } |
993 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 994 return (ENOSYS); 995 996 case LINUX_FUTEX_CMP_REQUEUE_PI: 997 /* not yet implemented */ | 1011 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 1012 return (ENOSYS); 1013 1014 case LINUX_FUTEX_CMP_REQUEUE_PI: 1015 /* not yet implemented */ |
998 linux_msg(td, 999 "linux_sys_futex: " 1000 "op LINUX_FUTEX_CMP_REQUEUE_PI not implemented\n"); 1001 LIN_SDT_PROBE0(futex, linux_sys_futex, 1002 unimplemented_cmp_requeue_pi); | 1016 pem = pem_find(td->td_proc); 1017 if ((pem->flags & LINUX_XUNSUP_FUTEXPIOP) == 0) { 1018 linux_msg(td, 1019 "linux_sys_futex: " 1020 "unsupported futex_pi op\n"); 1021 pem->flags |= LINUX_XUNSUP_FUTEXPIOP; 1022 LIN_SDT_PROBE0(futex, linux_sys_futex, 1023 unimplemented_cmp_requeue_pi); 1024 } |
1003 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 1004 return (ENOSYS); 1005 1006 default: 1007 linux_msg(td, 1008 "linux_sys_futex: unknown op %d\n", args->op); 1009 LIN_SDT_PROBE1(futex, linux_sys_futex, unknown_operation, 1010 args->op); --- 223 unchanged lines hidden --- | 1025 LIN_SDT_PROBE1(futex, linux_sys_futex, return, ENOSYS); 1026 return (ENOSYS); 1027 1028 default: 1029 linux_msg(td, 1030 "linux_sys_futex: unknown op %d\n", args->op); 1031 LIN_SDT_PROBE1(futex, linux_sys_futex, unknown_operation, 1032 args->op); --- 223 unchanged lines hidden --- |