| arch.h | | arch.h | |
| #ifndef _URCU_ARCH_X86_H | | #ifndef _URCU_ARCH_X86_H | |
| #define _URCU_ARCH_X86_H | | #define _URCU_ARCH_X86_H | |
| | | | |
| /* | | /* | |
| * arch_x86.h: trivial definitions for the x86 architecture. | | * arch_x86.h: trivial definitions for the x86 architecture. | |
| * | | * | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | | * version 2.1 of the License, or (at your option) any later version. | |
| * | | * | |
| * This library is distributed in the hope that it will be useful, | | * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | | * Lesser General Public License for more details. | |
| | | | |
| skipping to change at line 50 | | skipping to change at line 50 | |
| * Some non-Intel clones support out of order store. wmb() ceases to be a | | * Some non-Intel clones support out of order store. wmb() ceases to be a | |
| * nop for these. | | * nop for these. | |
| */ | | */ | |
| #define mb() asm volatile("lock; addl $0,0(%%esp)":::"memory") | | #define mb() asm volatile("lock; addl $0,0(%%esp)":::"memory") | |
| #define rmb() asm volatile("lock; addl $0,0(%%esp)":::"memory") | | #define rmb() asm volatile("lock; addl $0,0(%%esp)":::"memory") | |
| #define wmb() asm volatile("lock; addl $0,0(%%esp)"::: "memory") | | #define wmb() asm volatile("lock; addl $0,0(%%esp)"::: "memory") | |
| #endif | | #endif | |
| | | | |
| #define cpu_relax() asm volatile("rep; nop" : : : "memory"); | | #define cpu_relax() asm volatile("rep; nop" : : : "memory"); | |
| | | | |
|
| /* | | | |
| * Serialize core instruction execution. Also acts as a compiler barrier. | | | |
| * On PIC ebx cannot be clobbered | | | |
| */ | | | |
| #ifdef __PIC__ | | | |
| #define sync_core() \ | | | |
| asm volatile("push %%ebx; cpuid; pop %%ebx" \ | | | |
| : : : "memory", "eax", "ecx", "edx"); | | | |
| #endif | | | |
| #ifndef __PIC__ | | | |
| #define sync_core() \ | | | |
| asm volatile("cpuid" : : : "memory", "eax", "ebx", "ecx", "edx"); | | | |
| #endif | | | |
| | | | |
| #define rdtscll(val) \ | | #define rdtscll(val) \ | |
| do { \ | | do { \ | |
| unsigned int __a, __d; \ | | unsigned int __a, __d; \ | |
| asm volatile("rdtsc" : "=a" (__a), "=d" (__d)); \ | | asm volatile("rdtsc" : "=a" (__a), "=d" (__d)); \ | |
| (val) = ((unsigned long long)__a) \ | | (val) = ((unsigned long long)__a) \ | |
| | (((unsigned long long)__d) << 32); \ | | | (((unsigned long long)__d) << 32); \ | |
| } while(0) | | } while(0) | |
| | | | |
| typedef unsigned long long cycles_t; | | typedef unsigned long long cycles_t; | |
| | | | |
| | | | |
End of changes. 2 change blocks. |
| 15 lines changed or deleted | | 1 lines changed or added | |
|
| compiler.h | | compiler.h | |
| #ifndef _URCU_COMPILER_H | | #ifndef _URCU_COMPILER_H | |
| #define _URCU_COMPILER_H | | #define _URCU_COMPILER_H | |
| | | | |
| /* | | /* | |
| * compiler.h | | * compiler.h | |
| * | | * | |
| * Compiler definitions. | | * Compiler definitions. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * | | * | |
| * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED | | * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED | |
| * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. | | * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. | |
| * | | * | |
| * Permission is hereby granted to use or copy this program | | * Permission is hereby granted to use or copy this program | |
| * for any purpose, provided the above notices are retained on all copies. | | * for any purpose, provided the above notices are retained on all copies. | |
| * Permission to modify the code and to distribute modified code is granted
, | | * Permission to modify the code and to distribute modified code is granted
, | |
| * provided the above notices are retained, and a notice that the code was | | * provided the above notices are retained, and a notice that the code was | |
| * modified is included with the above copyright notice. | | * modified is included with the above copyright notice. | |
| */ | | */ | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| system.h | | system.h | |
| #ifndef _URCU_SYSTEM_H | | #ifndef _URCU_SYSTEM_H | |
| #define _URCU_SYSTEM_H | | #define _URCU_SYSTEM_H | |
| | | | |
| /* | | /* | |
| * system.h | | * system.h | |
| * | | * | |
| * System definitions. | | * System definitions. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * | | * | |
| * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED | | * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED | |
| * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. | | * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. | |
| * | | * | |
| * Permission is hereby granted to use or copy this program | | * Permission is hereby granted to use or copy this program | |
| * for any purpose, provided the above notices are retained on all copies. | | * for any purpose, provided the above notices are retained on all copies. | |
| * Permission to modify the code and to distribute modified code is granted
, | | * Permission to modify the code and to distribute modified code is granted
, | |
| * provided the above notices are retained, and a notice that the code was | | * provided the above notices are retained, and a notice that the code was | |
| * modified is included with the above copyright notice. | | * modified is included with the above copyright notice. | |
| */ | | */ | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu-bp-static.h | | urcu-bp-static.h | |
| | | | |
| skipping to change at line 12 | | skipping to change at line 12 | |
| #define _URCU_BP_STATIC_H | | #define _URCU_BP_STATIC_H | |
| | | | |
| /* | | /* | |
| * urcu-bp-static.h | | * urcu-bp-static.h | |
| * | | * | |
| * Userspace RCU header. | | * Userspace RCU header. | |
| * | | * | |
| * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu.h for linking | | * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu.h for linking | |
| * dynamically with the userspace rcu library. | | * dynamically with the userspace rcu library. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | | * version 2.1 of the License, or (at your option) any later version. | |
| * | | * | |
| * This library is distributed in the hope that it will be useful, | | * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu-bp.h | | urcu-bp.h | |
| | | | |
| skipping to change at line 12 | | skipping to change at line 12 | |
| #define _URCU_BP_H | | #define _URCU_BP_H | |
| | | | |
| /* | | /* | |
| * urcu-bp.h | | * urcu-bp.h | |
| * | | * | |
| * Userspace RCU header, "bulletproof" version. | | * Userspace RCU header, "bulletproof" version. | |
| * | | * | |
| * Slower RCU read-side adapted for tracing library. Does not require threa
d | | * Slower RCU read-side adapted for tracing library. Does not require threa
d | |
| * registration nor unregistration. Also signal-safe. | | * registration nor unregistration. Also signal-safe. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * LGPL-compatible code should include this header with : | | * LGPL-compatible code should include this header with : | |
| * | | * | |
| * #define _LGPL_SOURCE | | * #define _LGPL_SOURCE | |
| * #include <urcu.h> | | * #include <urcu.h> | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu-defer-static.h | | urcu-defer-static.h | |
| | | | |
| skipping to change at line 12 | | skipping to change at line 12 | |
| #define _URCU_DEFER_STATIC_H | | #define _URCU_DEFER_STATIC_H | |
| | | | |
| /* | | /* | |
| * urcu-defer-static.h | | * urcu-defer-static.h | |
| * | | * | |
| * Userspace RCU header - memory reclamation. | | * Userspace RCU header - memory reclamation. | |
| * | | * | |
| * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu-defer.h for linkin
g | | * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu-defer.h for linkin
g | |
| * dynamically with the userspace rcu reclamation library. | | * dynamically with the userspace rcu reclamation library. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | | * version 2.1 of the License, or (at your option) any later version. | |
| * | | * | |
| * This library is distributed in the hope that it will be useful, | | * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu-defer.h | | urcu-defer.h | |
| #ifndef _URCU_BATCH_H | | #ifndef _URCU_BATCH_H | |
| #define _URCU_BATCH_H | | #define _URCU_BATCH_H | |
| | | | |
| /* | | /* | |
| * urcu-defer.h | | * urcu-defer.h | |
| * | | * | |
| * Userspace RCU header - deferred execution | | * Userspace RCU header - deferred execution | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * LGPL-compatible code should include this header with : | | * LGPL-compatible code should include this header with : | |
| * | | * | |
| * #define _LGPL_SOURCE | | * #define _LGPL_SOURCE | |
| * #include <urcu-defer.h> | | * #include <urcu-defer.h> | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu-pointer-static.h | | urcu-pointer-static.h | |
| | | | |
| skipping to change at line 12 | | skipping to change at line 12 | |
| #define _URCU_POINTER_STATIC_H | | #define _URCU_POINTER_STATIC_H | |
| | | | |
| /* | | /* | |
| * urcu-pointer-static.h | | * urcu-pointer-static.h | |
| * | | * | |
| * Userspace RCU header. Operations on pointers. | | * Userspace RCU header. Operations on pointers. | |
| * | | * | |
| * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu-pointer.h for | | * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu-pointer.h for | |
| * linking dynamically with the userspace rcu library. | | * linking dynamically with the userspace rcu library. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | | * version 2.1 of the License, or (at your option) any later version. | |
| * | | * | |
| * This library is distributed in the hope that it will be useful, | | * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu-pointer.h | | urcu-pointer.h | |
| #ifndef _URCU_POINTER_H | | #ifndef _URCU_POINTER_H | |
| #define _URCU_POINTER_H | | #define _URCU_POINTER_H | |
| | | | |
| /* | | /* | |
| * urcu-pointer.h | | * urcu-pointer.h | |
| * | | * | |
| * Userspace RCU header. Operations on pointers. | | * Userspace RCU header. Operations on pointers. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | | * version 2.1 of the License, or (at your option) any later version. | |
| * | | * | |
| * This library is distributed in the hope that it will be useful, | | * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu-qsbr-static.h | | urcu-qsbr-static.h | |
| | | | |
| skipping to change at line 12 | | skipping to change at line 12 | |
| #define _URCU_QSBR_STATIC_H | | #define _URCU_QSBR_STATIC_H | |
| | | | |
| /* | | /* | |
| * urcu-qsbr-static.h | | * urcu-qsbr-static.h | |
| * | | * | |
| * Userspace RCU QSBR header. | | * Userspace RCU QSBR header. | |
| * | | * | |
| * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu-qsbr.h for linking | | * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu-qsbr.h for linking | |
| * dynamically with the userspace rcu QSBR library. | | * dynamically with the userspace rcu QSBR library. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | | * version 2.1 of the License, or (at your option) any later version. | |
| * | | * | |
| * This library is distributed in the hope that it will be useful, | | * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu-static.h | | urcu-static.h | |
| | | | |
| skipping to change at line 12 | | skipping to change at line 12 | |
| #define _URCU_STATIC_H | | #define _URCU_STATIC_H | |
| | | | |
| /* | | /* | |
| * urcu-static.h | | * urcu-static.h | |
| * | | * | |
| * Userspace RCU header. | | * Userspace RCU header. | |
| * | | * | |
| * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu.h for linking | | * TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu.h for linking | |
| * dynamically with the userspace rcu library. | | * dynamically with the userspace rcu library. | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | | * version 2.1 of the License, or (at your option) any later version. | |
| * | | * | |
| * This library is distributed in the hope that it will be useful, | | * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| urcu.h | | urcu.h | |
| #ifndef _URCU_H | | #ifndef _URCU_H | |
| #define _URCU_H | | #define _URCU_H | |
| | | | |
| /* | | /* | |
| * urcu.h | | * urcu.h | |
| * | | * | |
| * Userspace RCU header | | * Userspace RCU header | |
| * | | * | |
|
| * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | | * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
| * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | | * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. | |
| * | | * | |
| * LGPL-compatible code should include this header with : | | * LGPL-compatible code should include this header with : | |
| * | | * | |
| * #define _LGPL_SOURCE | | * #define _LGPL_SOURCE | |
| * #include <urcu.h> | | * #include <urcu.h> | |
| * | | * | |
| * This library is free software; you can redistribute it and/or | | * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | | * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | | * License as published by the Free Software Foundation; either | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|