Franky/Threadsafe checklist: Difference between revisions
From SambaWiki
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
Bugs to review |
Bugs to review |
||
* [https://bugzilla.samba.org/show_bug.cgi?id=5813 non-thread-safe function calls] |
* [https://bugzilla.samba.org/show_bug.cgi?id=5813 non-thread-safe function calls] |
||
* [https://bugzilla.samba.org/show_bug.cgi?id=5211 Andrew's list of samba4 issues]. Also see this bug's dependencies. |
|||
Global variables in the BSS and Data segments which must be reviewed to see if |
Global variables in the BSS and Data segments which must be reviewed to see if |
Revision as of 14:46, 14 May 2009
Checklist of areas likely requiring validatation of thread safety.
Bugs to review
- non-thread-safe function calls
- Andrew's list of samba4 issues. Also see this bug's dependencies.
Global variables in the BSS and Data segments which must be reviewed to see if
they require any protection in a threaded environment.
NOTE: After implementing thread protection on one of these, or determining that it doesn't require any changes, move the entry into the "Already Reviewed" section at the bottom of this page, and make a note of your specific findings or work done.
- b Globals
- b ServiceHash
- b ServicePtrs
- b __nwrap_cache_gr
- b __nwrap_cache_pw
- b already_perm.63808
- b already_perm.63873
- b autobind_start
- b autobind_start_init
- b bGlobalOnly
- b bLoaded
- b backend
- b backends
- b buf.4855
- b bytes_since_reseed
- b cache
- b cache
- b cache_tree
- b call_id.64160
- b called.64160
- b charsets
- b classname_table
- b cmdline_lp_ctx
- b completed.6997
- b conf_ctx.72086
- b conf_last_csn
- b config_backend
- b cont_fn
- b conv_handles
- b conv_silent
- b corepath
- b count.63802
- b counter
- b counter.63802
- b current_lang
- b current_user
- b current_user_info
- b db
- b db
- b db_ctx
- b db_ctx.63797
- b db_sam
- b dbf
- b debug_count
- b debug_num_classes
- b debugf
- b default_server_announce
- b defaults_saved
- b depth.67473
- b done_init.64458
- b done_reseed
- b dtor_idx.6999
- b dyn_BINDIR
- b dyn_CACHEDIR
- b dyn_CODEPAGEDIR
- b dyn_CONFIGFILE
- b dyn_LIBDIR
- b dyn_LMHOSTSFILE
- b dyn_LOCKDIR
- b dyn_LOGFILEBASE
- b dyn_MODULESDIR
- b dyn_NCALRPCDIR
- b dyn_PIDDIR
- b dyn_PRIVATE_DIR
- b dyn_SBINDIR
- b dyn_SHLIBEXT
- b dyn_SMB_PASSWD_FILE
- b dyn_STATEDIR
- b dyn_SWATDIR
- b extra_time_offset
- b f.6068
- b file_lists
- b format_bufr
- b format_pos
- b global_cache
- b global_clobber_region_function
- b global_clobber_region_line
- b global_in_nmbd
- b global_lock_array
- b global_machine_password_needs_changing
- b global_sam_sid
- b global_tfp
- b global_ts
- b got_alarm
- b got_major.77004
- b got_minor.77023
- b gotalarm
- b gotalarm
- b gotintr
- b h.6067
- b hash
- b i.6069
- b iNumServices
- b iServiceIndex
- b idmap_gid_high
- b idmap_gid_low
- b idmap_uid_high
- b idmap_uid_low
- b in_client
- b include_depth
- b initial_gid
- b initial_uid
- b initialised
- b initialised.63872
- b initialized
- b initialized
- b initialized
- b initialized.4388
- b initialized.5513
- b initialized.6065
- b initialized.63799
- b initialized.63806
- b initialized.63982
- b initialized.64395
- b initialized.64809
- b invalid_services
- b last_dns_check.65080
- b last_dns_status.65081
- b lastt
- b ldb
- b ldb_backends
- b local_interfaces
- b local_machine
- b log_overflow
- b lowcase_table
- b lowcase_table_use_unmap
- b mapped_file.64056
- b msg.63951
- b num_invalid_services
- b nwrap_gr_global
- b nwrap_pw_global
- b old_handler
- b once_mutex
- b outfile
- b override_logfile
- b p.6070
- b pdb.64265
- b pdb_event_ctx
- b pipe_read
- b pipe_written
- b popen_chain
- b posix_cifsx_locktype
- b posix_default_lock_was_set
- b posix_pathnames
- b probed_ifaces
- b ra_type
- b regdb
- b regdb_refcount
- b registered_modules
- b remote_arch_str
- b remote_machine
- b reseed_callback
- b reseed_callback_userdata
- b result.76870
- b ret.66976
- b s.6066
- b saved_egid
- b saved_euid
- b saved_rgid
- b saved_ruid
- b select_pipe
- b server_role
- b server_zone_offset
- b share_db
- b sig_state
- b smb_my_netbios_names
- b smb_myname
- b smb_myworkgroup
- b smb_num_netbios_names
- b smb_scope
- b smb_user_name
- b smbc_compat_fd_avail
- b smbc_compat_fd_in_use
- b smbc_compat_initialized
- b smbc_compat_nextfd
- b smbldap_state_lookup_list
- b sockets
- b sort_ip
- b spoolss_state
- b start_time_hires
- b statcont
- b stdout_logging
- b t
- b tdb
- b tdb.65419
- b tdb_list
- b tdb_list
- b tdbd
- b tdbsam_filename
- b tevent_abort_fn
- b tevent_backends
- b tevent_default_backend
- b tf.64872
- b tmp_debug_ctx
- b total_probed
- b try_splice_call.63895
- b ts_initialized
- b upcase_table
- b upcase_table_use_unmap
- b v.5512
- b valid_table
- b valid_table_use_unmap
- b zeros.64945
- b zeros.65144
- d AllowDebugChange
- d DEBUGLEVEL_CLASS
- d DEBUGLEVEL_CLASS_ISSET
- d Protocol
- d __CTOR_END__
- d __CTOR_LIST__
- d __DTOR_END__
- d __DTOR_LIST__
- d __JCR_END__
- d __JCR_LIST__
- d __dso_handle
- d _x_stderr
- d _x_stdin
- d _x_stdout
- d account_policy_names
- d anon_sid_array
- d anonymous_token
- d asq_ops
- d attr.69925
- d attrib_map_to_delete_v22
- d attrib_map_to_delete_v30
- d attrib_map_v22
- d attrib_map_v30
- d attrs.64804
- d attrs.65036
- d audit_category_tab
- d bAllowIncludeRegistry
- d bInGlobalSection
- d bufsize.4856
- d builtin_aliases
- d builtin_functions
- d builtin_registry_paths
- d builtin_registry_values
- d creator_owner_users
- d dcerpc_faults
- d debug_all_class_hack
- d debug_all_class_isset_hack
- d debug_auto_add_unknown_class
- d debug_level
- d debug_warn_unknown_class
- d default_classname_table
- d dominfo_attr_list
- d dos_err_strs
- d dos_errs
- d dos_msgs
- d drsblobs_authservice_strings
- d drsblobs_authservices
- d drsblobs_calls
- d drsblobs_endpoint_strings
- d drsblobs_endpoints
- d drsuapi_authservice_strings
- d drsuapi_authservices
- d drsuapi_calls
- d drsuapi_endpoint_strings
- d drsuapi_endpoints
- d dssetup_authservice_strings
- d dssetup_authservices
- d dssetup_calls
- d dssetup_endpoint_strings
- d dssetup_endpoints
- d enum_acl_compat_vals
- d enum_announce_as
- d enum_bool_auto
- d enum_case
- d enum_config_backend
- d enum_csc_policy
- d enum_kerberos_method
- d enum_ldap_passwd_sync
- d enum_ldap_sasl_wrapping
- d enum_ldap_ssl
- d enum_map_readonly
- d enum_map_to_guest
- d enum_printing
- d enum_protocol
- d enum_security
- d enum_smb_signing_vals
- d epmapper_authservice_strings
- d epmapper_authservices
- d epmapper_calls
- d epmapper_endpoint_strings
- d epmapper_endpoints
- d epoll_event_ops
- d err_classes
- d eventlog_authservice_strings
- d eventlog_authservices
- d eventlog_calls
- d eventlog_endpoint_strings
- d eventlog_endpoints
- d everyone_users
- d fd.6239
- d groupmap_attr_list
- d groupmap_attr_list_to_delete
- d hard_msgs
- d idpool_attr_list
- d in_fd
- d initshutdown_authservice_strings
- d initshutdown_authservices
- d initshutdown_calls
- d initshutdown_endpoint_strings
- d initshutdown_endpoints
- d ldb_backend
- d ldb_changetypes
- d ldb_default_attrib_handler
- d ldb_standard_attribs
- d longvar_table
- d lsarpc_authservice_strings
- d lsarpc_authservices
- d lsarpc_calls
- d lsarpc_endpoint_strings
- d lsarpc_endpoints
- d ltdb_ops
- d ltdb_valid_attr_flags
- d major_version.77005
- d minor_version.77024
- d my_vnn
- d mypid
- d ncacn_options
- d ndr_err_code_strings
- d ndr_table_drsblobs
- d ndr_table_drsuapi
- d ndr_table_dssetup
- d ndr_table_epmapper
- d ndr_table_eventlog
- d ndr_table_initshutdown
- d ndr_table_lsarpc
- d ndr_table_netdfs
- d ndr_table_netlogon
- d ndr_table_ntsvcs
- d ndr_table_rpcecho
- d ndr_table_samr
- d ndr_table_spoolss
- d ndr_table_srvsvc
- d ndr_table_svcctl
- d ndr_table_winreg
- d ndr_table_wkssvc
- d netdfs_authservice_strings
- d netdfs_authservices
- d netdfs_calls
- d netdfs_endpoint_strings
- d netdfs_endpoints
- d netlogon_authservice_strings
- d netlogon_authservices
- d netlogon_calls
- d netlogon_endpoint_strings
- d netlogon_endpoints
- d nmb_header_opcode_names
- d no_str.71616
- d nt_authority_users
- d nt_err_desc
- d nt_errs
- d ntlmssp_callbacks
- d ntsvcs_authservice_strings
- d ntsvcs_authservices
- d ntsvcs_calls
- d ntsvcs_endpoint_strings
- d ntsvcs_endpoints
- d objectclass_ops
- d operational_ops
- d paged_ops
- d parm_num.73088
- d parm_table
- d parse_tree_sub
- d pipe_names
- d pipefd.63894
- d privs
- d rap_errmap
- d rdn_name_ops
- d regdb_ops
- d remote_proto
- d rpcecho_authservice_strings
- d rpcecho_authservices
- d rpcecho_calls
- d rpcecho_endpoint_strings
- d rpcecho_endpoints
- d s3_event_ops
- d sDefault
- d samr_authservice_strings
- d samr_authservices
- d samr_calls
- d samr_endpoint_strings
- d samr_endpoints
- d search_sub
- d select_event_ops
- d server_msgs
- d server_sort_ops
- d sid_name_type
- d sidmap_attr_list
- d smbconf_ops_reg
- d smbconf_ops_txt
- d smbconf_reg_ops
- d socket_options
- d special_domains
- d special_values.65122
- d spoolss_authservice_strings
- d spoolss_authservices
- d spoolss_calls
- d spoolss_endpoint_strings
- d spoolss_endpoints
- d srv_role_tab
- d srvsvc_authservice_strings
- d srvsvc_authservices
- d srvsvc_calls
- d srvsvc_endpoint_strings
- d srvsvc_endpoints
- d standard_values.65123
- d static_init_fns.64808
- d std_event_ops
- d svcctl_authservice_strings
- d svcctl_authservices
- d svcctl_calls
- d svcctl_endpoint_strings
- d svcctl_endpoints
- d system_sid_array
- d system_token
- d tdb_backend
- d tdgram_bsd_ops
- d tf
- d transports
- d tsocket_address_bsd_ops
- d tstream_bsd_ops
- d urand_fd
- d winreg_authservice_strings
- d winreg_authservices
- d winreg_calls
- d winreg_endpoint_strings
- d winreg_endpoints
- d wkssvc_authservice_strings
- d wkssvc_authservices
- d wkssvc_calls
- d wkssvc_endpoint_strings
- d wkssvc_endpoints
- d x_stderr
- d x_stdin
- d x_stdout
- d yes_str.71615
Already Reviewed
- b SMBC_initialized
- Created smbc_module_init() function. SMBC_initialized is now the boolean controlling once-initialization for calls to the new function.
- b initialized_ctx_count
- protected by mutex