diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2012-03-06 15:12:37 -0800 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2012-03-06 15:12:37 -0800 |
commit | 36fe1e4a463560672cbf8cbfbe45b26fcf2a2377 (patch) | |
tree | f14e51fd3a7fffd9cabfa4cc08a1d414890102b0 /fish.cpp | |
parent | 9ee4e4e05c46669ed9c254188fd5aa83aa5374f2 (diff) |
Some initial work towards cutting down the number of fork calls we do
Diffstat (limited to 'fish.cpp')
-rw-r--r-- | fish.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -89,7 +89,7 @@ static int read_init() { wcstring config_dir_escaped = escape_string( config_dir, 1 ); wcstring eval_buff = format_string(L"builtin . %ls/config.fish 2>/dev/null", config_dir_escaped.c_str()); - parser.eval( eval_buff.c_str(), 0, TOP ); + parser.eval( eval_buff, 0, TOP ); } return 1; @@ -265,8 +265,9 @@ static int fish_parse_opt( int argc, char **argv, const char **cmd_ptr ) parses commands from stdin or files, depending on arguments */ +extern int g_fork_count; int main( int argc, char **argv ) -{ +{ struct stat tmp; int res=1; const char *cmd=0; @@ -304,6 +305,8 @@ int main( int argc, char **argv ) parser_t &parser = parser_t::principal_parser(); + printf("%d: g_fork_count: %d\n", __LINE__, g_fork_count); + if( read_init() ) { if( cmd != 0 ) @@ -387,5 +390,7 @@ int main( int argc, char **argv ) env_destroy(); + printf("%d: g_fork_count: %d\n", __LINE__, g_fork_count); + return res?STATUS_UNKNOWN_COMMAND:proc_get_last_status(); } |