This logic makes no sense. Are you mearly testing whether or not data gets returned from conditions2? In any event you have an explicit cursor, notice the word "OPEN". Explicict cursors need to be explicitly closed, otherwise they remain open.

What are you really trying to do? While you are at it take a look at Oracle PL/SQL Best Practices, by Steven Feuerstein. It is a short book, but will help you immensely.

Code:
Open cursor for
select v_count as count, .....
from table_B
where [conditions2];