OK- in system/expressionengine/libraries/Sessions.php around line 1285:
protected function _setup_session_length()
{
$u_item = $this->EE->config->item('user_session_ttl');
$cp_item = $this->EE->config->item('cp_session_ttl');
$this->cpan_session_len = ($cp_item) ? $cp_item : $this->cpan_session_len;
$this->user_session_len = ($u_item) ? $u_item : $this->user_session_len;
change to
$this->cpan_session_len = ($cp_item !== FALSE) ? $cp_item : $this->cpan_session_len;
$this->user_session_len = ($u_item !== FALSE) ? $u_item : $this->user_session_len;
All that does is allow setting the config variable session length to 0 to really be zero.
Now- if you are using cookies only? When you close the browser, the cookie should expire. However, if you set it to cookies+sessions? It’s going to expire your session immediately and log you out and just generally not work- hence the bit where it’s more complicated.
Does that help?