Author: rschupp
Date: Wed Jun  3 09:39:23 2015
New Revision: 1683261

URL: http://svn.apache.org/r1683261
Log:
* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c:
  Annotate functions that (transitively) call back into Perl. 
  This information is helpful when deciding whether a call to 
  a helper function in a Swig rule must be bracketed with
  PUTBACK/SPAGAIN.

Modified:
    
subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

Modified: 
subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c?rev=1683261&r1=1683260&r2=1683261&view=diff
==============================================================================
--- 
subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c 
(original)
+++ 
subversion/trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c 
Wed Jun  3 09:39:23 2015
@@ -520,6 +520,7 @@ svn_opt_revision_t *svn_swig_pl_set_revi
    put returned value in result if result is not NULL
 */
 
+/* NOTE: calls back into Perl (directly) */
 svn_error_t *svn_swig_pl_callback_thunk(perl_func_invoker_t caller_func,
                                         void *func,
                                         SV **result,
@@ -670,6 +671,7 @@ static item_baton * make_baton(apr_pool_
     return newb;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * close_baton(void *baton, const char *method, apr_pool_t 
*pool)
 {
     item_baton *ib = baton;
@@ -690,6 +692,7 @@ static svn_error_t * close_baton(void *b
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_set_target_revision(void *edit_baton,
                                                svn_revnum_t target_revision,
                                                apr_pool_t *pool)
@@ -703,6 +706,7 @@ static svn_error_t * thunk_set_target_re
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_open_root(void *edit_baton,
                                      svn_revnum_t base_revision,
                                      apr_pool_t *dir_pool,
@@ -720,6 +724,7 @@ static svn_error_t * thunk_open_root(voi
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_delete_entry(const char *path,
                                         svn_revnum_t revision,
                                         void *parent_baton,
@@ -734,6 +739,7 @@ static svn_error_t * thunk_delete_entry(
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_add_directory(const char *path,
                                          void *parent_baton,
                                          const char *copyfrom_path,
@@ -753,6 +759,7 @@ static svn_error_t * thunk_add_directory
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_open_directory(const char *path,
                                           void *parent_baton,
                                           svn_revnum_t base_revision,
@@ -772,6 +779,7 @@ static svn_error_t * thunk_open_director
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_change_dir_prop(void *dir_baton,
                                            const char *name,
                                            const svn_string_t *value,
@@ -787,12 +795,14 @@ static svn_error_t * thunk_change_dir_pr
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling close_baton) */
 static svn_error_t * thunk_close_directory(void *dir_baton,
                                            apr_pool_t *pool)
 {
     return close_baton(dir_baton, "close_directory", pool);
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_absent_directory(const char *path,
                                             void *parent_baton,
                                             apr_pool_t *pool)
@@ -807,6 +817,7 @@ static svn_error_t * thunk_absent_direct
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_add_file(const char *path,
                                     void *parent_baton,
                                     const char *copyfrom_path,
@@ -827,6 +838,7 @@ static svn_error_t * thunk_add_file(cons
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_open_file(const char *path,
                                      void *parent_baton,
                                      svn_revnum_t base_revision,
@@ -845,6 +857,7 @@ static svn_error_t * thunk_open_file(con
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_window_handler(svn_txdelta_window_t *window,
                                           void *baton)
 {
@@ -865,6 +878,7 @@ static svn_error_t * thunk_window_handle
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t *
 thunk_apply_textdelta(void *file_baton,
                       const char *base_checksum,
@@ -909,6 +923,7 @@ thunk_apply_textdelta(void *file_baton,
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_change_file_prop(void *file_baton,
                                             const char *name,
                                             const svn_string_t *value,
@@ -924,6 +939,7 @@ static svn_error_t * thunk_change_file_p
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_close_file(void *file_baton,
                                       const char *text_checksum,
                                       apr_pool_t *pool)
@@ -940,6 +956,7 @@ static svn_error_t * thunk_close_file(vo
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_absent_file(const char *path,
                                        void *parent_baton,
                                        apr_pool_t *pool)
@@ -954,12 +971,14 @@ static svn_error_t * thunk_absent_file(c
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling close_baton) */
 static svn_error_t * thunk_close_edit(void *edit_baton,
                                       apr_pool_t *pool)
 {
     return close_baton(edit_baton, "close_edit", pool);
 }
 
+/* NOTE: calls back into Perl (by calling close_baton) */
 static svn_error_t * thunk_abort_edit(void *edit_baton,
                                       apr_pool_t *pool)
 {
@@ -1008,6 +1027,7 @@ void svn_swig_pl_make_editor(svn_delta_e
     svn_swig_pl_hold_ref_in_pool(pool, perl_editor);
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_log_receiver(void *baton,
                                             apr_hash_t *changed_paths,
                                             svn_revnum_t rev,
@@ -1032,6 +1052,7 @@ svn_error_t *svn_swig_pl_thunk_log_recei
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_log_entry_receiver(void *baton,
                                                   svn_log_entry_t *log_entry,
                                                   apr_pool_t *pool)
@@ -1050,6 +1071,7 @@ svn_error_t *svn_swig_pl_thunk_log_entry
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t * svn_swig_pl_thunk_client_diff_summarize_func(
                      const svn_client_diff_summarize_t *diff,
                      void *baton,
@@ -1069,6 +1091,7 @@ svn_error_t * svn_swig_pl_thunk_client_d
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_history_func(void *baton,
                                             const char *path,
                                             svn_revnum_t revision,
@@ -1086,6 +1109,7 @@ svn_error_t *svn_swig_pl_thunk_history_f
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_authz_func(svn_boolean_t *allowed,
                                           svn_fs_root_t *root,
                                           const char *path,
@@ -1108,6 +1132,7 @@ svn_error_t *svn_swig_pl_thunk_authz_fun
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_commit_callback(svn_revnum_t new_revision,
                                                const char *date,
                                                const char *author,
@@ -1122,6 +1147,7 @@ svn_error_t *svn_swig_pl_thunk_commit_ca
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_commit_callback2(const svn_commit_info_t 
*commit_info,
                                                 void *baton,
                                                 apr_pool_t *pool)
@@ -1140,6 +1166,7 @@ svn_error_t *svn_swig_pl_thunk_commit_ca
 
 /* Wrap RA */
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t * thunk_open_tmp_file(apr_file_t **fp,
                                          void *callback_baton,
                                          apr_pool_t *pool)
@@ -1158,6 +1185,7 @@ static svn_error_t * thunk_open_tmp_file
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *thunk_get_wc_prop(void *baton,
                                const char *relpath,
                                const char *name,
@@ -1215,6 +1243,7 @@ svn_error_t *svn_swig_pl_make_callbacks(
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_gnome_keyring_unlock_prompt(char 
**keyring_password,
                                                            const char 
*keyring_name,
                                                            void *baton,
@@ -1243,6 +1272,7 @@ svn_error_t *svn_swig_pl_thunk_gnome_key
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_simple_prompt(svn_auth_cred_simple_t **cred,
                                              void *baton,
                                              const char *realm,
@@ -1264,6 +1294,7 @@ svn_error_t *svn_swig_pl_thunk_simple_pr
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_username_prompt(svn_auth_cred_username_t **cred,
                                                void *baton,
                                                const char *realm,
@@ -1284,6 +1315,7 @@ svn_error_t *svn_swig_pl_thunk_username_
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_ssl_server_trust_prompt(
                               svn_auth_cred_ssl_server_trust_t **cred,
                               void *baton,
@@ -1318,6 +1350,7 @@ svn_error_t *svn_swig_pl_thunk_ssl_serve
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_ssl_client_cert_prompt(
                 svn_auth_cred_ssl_client_cert_t **cred,
                 void *baton,
@@ -1339,6 +1372,7 @@ svn_error_t *svn_swig_pl_thunk_ssl_clien
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_thunk_ssl_client_cert_pw_prompt(
                                      svn_auth_cred_ssl_client_cert_pw_t **cred,
                                      void *baton,
@@ -1361,6 +1395,7 @@ svn_error_t *svn_swig_pl_thunk_ssl_clien
 }
 
 /* Thunked version of svn_wc_notify_func_t callback type */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 void svn_swig_pl_notify_func(void * baton,
                              const char *path,
                              svn_wc_notify_action_t action,
@@ -1382,6 +1417,7 @@ void svn_swig_pl_notify_func(void * bato
 }
 
 /* Thunked version of svn_client_get_commit_log3_t callback type. */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_get_commit_log_func(const char **log_msg,
                                              const char **tmp_file,
                                              const apr_array_header_t *
@@ -1444,6 +1480,7 @@ svn_error_t *svn_swig_pl_get_commit_log_
 }
 
 /* Thunked version of svn_client_info_t callback type. */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_info_receiver(void *baton,
                                        const char *path,
                                        const svn_info_t *info,
@@ -1475,6 +1512,7 @@ svn_error_t *svn_swig_pl_info_receiver(v
 
 
 /* Thunked version of svn_wc_cancel_func_t callback type. */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_cancel_func(void *cancel_baton) {
     SV *result;
     svn_error_t *ret_val;
@@ -1504,6 +1542,7 @@ svn_error_t *svn_swig_pl_cancel_func(voi
 }
 
 /* Thunked version of svn_wc_status_func_t callback type. */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 void svn_swig_pl_status_func(void *baton,
                              const char *path,
                              svn_wc_status_t *status)
@@ -1520,6 +1559,7 @@ void svn_swig_pl_status_func(void *baton
 }
 
 /* Thunked version of svn_wc_status_func2_t callback type. */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 void svn_swig_pl_status_func2(void *baton,
                               const char *path,
                               svn_wc_status2_t *status)
@@ -1536,6 +1576,7 @@ void svn_swig_pl_status_func2(void *bato
 }
 
 /* Thunked version of svn_wc_status_func3_t callback type. */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_status_func3(void *baton,
                                       const char *path,
                                       svn_wc_status2_t *status,
@@ -1568,6 +1609,7 @@ svn_error_t *svn_swig_pl_status_func3(vo
 
 
 /* Thunked version of svn_client_blame_receiver_t callback type. */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_blame_func(void *baton,
                                     apr_int64_t line_no,
                                     svn_revnum_t revision,
@@ -1596,6 +1638,7 @@ svn_error_t *svn_swig_pl_blame_func(void
 }
 
 /* Thunked config enumerator */
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_boolean_t svn_swig_pl_thunk_config_enumerator(const char *name, const char 
*value, void *baton)
 {
     SV *result;
@@ -1639,6 +1682,7 @@ void svn_swig_pl_set_current_pool(apr_po
   set_current_pool_cb(pool);
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 apr_pool_t *svn_swig_pl_make_pool(SV *obj)
 {
     apr_pool_t *pool;
@@ -1667,6 +1711,7 @@ typedef struct io_baton_t {
     IO *io;
 } io_baton_t;
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t *io_handle_read(void *baton,
                                    char *buffer,
                                    apr_size_t *len)
@@ -1690,6 +1735,7 @@ static svn_error_t *io_handle_read(void
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t *io_handle_write(void *baton,
                                     const char *data,
                                     apr_size_t *len)
@@ -1710,6 +1756,7 @@ static svn_error_t *io_handle_write(void
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 static svn_error_t *io_handle_close(void *baton)
 {
     io_baton_t *io = baton;
@@ -1733,6 +1780,7 @@ static apr_status_t io_handle_cleanup(vo
     return APR_SUCCESS;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_make_stream(svn_stream_t **stream, SV *obj)
 {
     IO *io;
@@ -1778,6 +1826,7 @@ svn_error_t *svn_swig_pl_make_stream(svn
     return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 svn_error_t *svn_swig_pl_ra_lock_callback(
                     void *baton,
                     const char *path,
@@ -1797,6 +1846,7 @@ svn_error_t *svn_swig_pl_ra_lock_callbac
   return SVN_NO_ERROR;
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 SV *svn_swig_pl_from_stream(svn_stream_t *stream)
 {
     SV *ret;
@@ -1848,6 +1898,7 @@ void svn_swig_pl_hold_ref_in_pool(apr_po
     apr_pool_cleanup_register(pool, sv, cleanup_refcnt, apr_pool_cleanup_null);
 }
 
+/* NOTE: calls back into Perl (by calling svn_swig_pl_callback_thunk) */
 SV *svn_swig_pl_from_md5(unsigned char *digest)
 {
     SV *ret;


Reply via email to